【发布时间】:2017-03-02 18:52:09
【问题描述】:
iOS 开发新手,正在尝试对数据进行编码以便在 db 中安全地存储数据。
我在这里找到了当前示例: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)
我是否错过了这个过程中的一个步骤?我已经确认它是空的,因为它的数据库也被存储为空。
【问题讨论】:
-
使用
error参数看看出了什么问题。 -
encryptedData不是零。您的错误是试图将encryptedData转换为NSString。encryptedData不是 UTF-8 编码的字符串数据。 -
@AndyIbanez 我确实有错误检查,但它没有打印错误。
-
@rmaddy 如何确定它的编码方式?
-
@rmaddy 是对的。这不是编码字符串。您不能将其转换为字符串,因为它不是字符串。如果您打算打印加密的 blob,只需打印
encryptedData本身。我不知道你为什么要这样做,但如果你想看到一些东西,那就是要走的路。
标签: ios objective-c encryption rncryptor