iOS开发的新手,试图为数据库中的安全数据存储而编码数据。
我在这里找到了当前的示例:https://github.com/RNCryptor/RNCryptor-objc
这是我的密码。
NSString * aPassword =@"tempkey";
NSData *data = [@"Data" dataUsingEncoding:NSUTF8StringEncoding];
NSError *error;
NSData *encryptedData = [RNEncryptor encryptData:data
withSettings:kRNCryptorAES256Settings
password:aPassword
error:&error];
NSLog(@"Data: %@", [[NSString alloc] initWithData:encryptedData encoding:NSUTF8StringEncoding]);我的日志
2016-10-20 11:41:52.662 BlueBoard[57245:10027277] Data: (null)我是不是错过了这个过程中的一步?我已经确认它是空的,因为它的db也存储为null。
发布于 2016-10-20 17:09:50
您的问题不是encryptedData是nil,而是试图从不表示字符串的数据创建NSString。
如果希望将encryptedData转换为用于存储或其他目的的字符串,则应将数据转换为Base 64编码表示形式。使用base64EncodedStringWithOptions:方法执行此操作。
NSString *base64String = [encryptedData base64EncodedStringWithOptions:0];当然,以后要解密字符串时,需要将Base 64编码的字符串转换回NSData,然后解密该数据。
https://stackoverflow.com/questions/40160063
复制相似问题