Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 解密加密值_Ios_Encryption - Fatal编程技术网

Ios 解密加密值

Ios 解密加密值,ios,encryption,Ios,Encryption,在我的应用程序中,我使用AES加密和解密来加密和解密值。当我尝试解密加密值时,结果显示为nil值。注释代码是加密的 可以在NSString[secretMessage]上设置加密值并发送到解密 NSString *salt_value = @"0{��\\n;S�i�S��B~"; NSData *saltValue = [salt_value dataUsingEncoding:NSUTF8StringEncoding]; NSData *key = [BB

在我的应用程序中,我使用AES加密和解密来加密和解密值。当我尝试解密加密值时,结果显示为nil值。注释代码是加密的 可以在NSString[secretMessage]上设置加密值并发送到解密

 NSString *salt_value = @"0{��\\n;S�i�S��B~";
        NSData *saltValue = [salt_value dataUsingEncoding:NSUTF8StringEncoding];

        NSData *key = [BBAES keyBySaltingPassword:@"password" salt:saltValue keySize:BBAESKeySize256 numberOfIterations:65536];

        NSString *data = @"/R/MktHb1Y/bCZlVhFm8Xw==";
        NSData *pngData = [[NSData alloc] initWithBase64EncodedString:data options:1];
         NSString *secretMessage = @"9Buc9WL1o4M8a3qBsDjVSJek4HzxJMn9t57MPo/1uro=";
    //    
    //    NSString *encryptedString = [secretMessage bb_AESEncryptedStringForIV:pngData key:key options:BBAESEncryptionOptionsIncludeIV];
    //        NSLog(@"Encrypted message: %@", encryptedString);



        NSString *decryptedMessage = [secretMessage bb_AESDecryptedStringForIV:pngData key:key];
            NSLog(@"Decrypted message: %@", decryptedMessage);

非常感谢您的帮助或建议。

请点击此链接并使用此库。是android的。我们可以互相加密和发送数据。我唯一的保留是IV是静态的,而没有任何盐。但这是一个很好的起点,可以提供自己的secretkeyspec和iv。

那么,您使用注释代码生成加密数据?根据您现有的代码片段,似乎只是对base64编码字符串应用AES解密,这是不合适的。由于的作者不愿意描述keyBySaltingPassword方法,所以不要使用该项目。没有描述,互操作性实际上是不可能的。此外,密码必须只使用ISO859-1编码字符集中的字符,这是不现实的,不必要的。如果您想使用第三方加密库考虑,它目前正在开发,支持多个平台,使用当前的最佳实践,做正确的事情。虽然不是最差的库,但它已经三年没有更新了。它也不支持使用PBKDF2(基于密码的派生函数),而不是使用SHA256,甚至不支持HMAC。这不再被视为最佳做法。此外,顶级方法使用nil iv。RNCryptor是更好的选择。