AES256Cryptor で暗号化された .txt ファイルにデータが含まれる iPhone/iPad アプリケーションを開発しています。データを含むファイルが非常に大きい (~10MB)。アプリケーションの起動時:
- .txt ファイルを読み取ります
- ファイルから文字列を復号化します (復号化には NSString にハードコードされたキーを使用します)
- 文字列が解析され、NSDictionary に入れられます (~ 40000 レコード)
アプリケーションはネットワークを使用しません (オフラインである必要があります)。私の質問は次のとおりです。
- データ (.txt 内) は比較的価値があり、ハッキングされるのを見たくありません。これはどれくらい安全だと思いますか?セグエションはありますか?
- ファイルからの読み取りと 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...
}
どうすれば改善できますか?