在我的应用程序中,我使用加密和解密。
在将字符串输入到本地数据库之前,我正在对其进行加密,在从数据库中获取数据之后,我正在对其进行解密并在我的应用程序中使用。它工作正常。我从 下面的链接中使用了加密/解密
加密时:
NSString *myKey=@"any string more than 8 char";
NSData *data ;
NSData *encryptedData;
NSString *encryptPassword,*encryptPasscode;
// 1) Encrypt
data = [password dataUsingEncoding: NSASCIIStringEncoding];
encryptedData = [data AESEncryptWithPassphrase:myKey];
// 2) Encode Base 64
[Base64 initialize];
encryptPassword = [Base64 encode:encryptedData];
解密时:
NSData *decryptedData;
NSData *b64DecData;
field1 = (char *) sqlite3_column_text(selectPasscodeStatement, 0);
NSString *fieldStr1 = [[NSString alloc] initWithUTF8String: field1];
// 3) Decode Base 64
b64DecData = [Base64 decode:fieldStr1];
// 4) Decrypt
decryptedData = [b64DecData AESDecryptWithPassphrase:myKey];
retrivedPasscode = [[NSString alloc] initWithData:decryptedData encoding:NSASCIIStringEncoding];
但我已经为同一个项目制作了 staticLibrary。我在另一个项目中使用那个 staticLibrary。当我运行该项目时,在加密时它给了我下面的错误
-[NSConcreteMutableData AESEncryptWithPassphrase:]:无法识别的选择器发送到实例 0x6a3fe40