0

我正在开发 iPhone/iPad 应用程序,其中包含使用 AES256Cryptor 加密的 .txt 文件中的数据。包含数据的文件非常大(~10MB)。应用程序启动时:

  1. 读取 .txt 文件
  2. 从文件中解密字符串(用于解密使用 NSString 中硬编码的密钥)
  3. 字符串被解析并放入 NSDictionary(约 40000 条记录)

应用程序不使用网络(必须离线)。我的问题是:

  1. 数据(在 .txt 中)相对有价值,我不希望看到它被黑客入侵。你认为这有多安全?你有什么疑问吗?
  2. 从文件读取并保存到 NSDictionary 需要很多时间(读取 .txt 约 5 秒,解析保存到 NSDictionary 约 5 秒):

.

NSString *encryptedString = [[NSString alloc] initWithData:[NSData dataWithContentsOfFile:path] encoding:NSUTF8StringEncoding];
NSError *error = nil;
NSData *encryptedData = [GTMBase64 decodeString:encryptedString];
NSData *decryptedData = [[RNCryptor AES256Cryptor] decryptData:encryptedData password:@"password" error:&error];
NSString *dataString  = [[NSString alloc] initWithData:decryptedData encoding:NSUTF8StringEncoding];
NSArray *records = [dataString componentsSeparatedByString:@"separator"];

for( "record in records") {
  save record to dictionary...
}

我该如何改进它?

4

0 回答 0