Ios 解密加密值
在我的应用程序中,我使用AES加密和解密来加密和解密值。当我尝试解密加密值时,结果显示为nil值。注释代码是加密的 可以在NSString[secretMessage]上设置加密值并发送到解密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
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是更好的选择。