写入文件时尝试encryptionNSDictionary

我正在保存一个NSDictionary文件在iOS设备上。 但是,NSDictionary文件是可读的XML。 我不希望人们能够进入和阅读内容,所以我需要能够在写入时encryption文件并在再次加载时解密。

我目前正在保存这样的文件:

NSFileManager* fileManager = [NSFileManager defaultManager]; if (!fileManager) { NSLog(@"Failed to get file manager to save."); return; } NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString* documentsDirectory = [paths objectAtIndex:0]; NSString* filePath = [documentsDirectory stringByAppendingPathComponent:@"save.dic"]; [m_dictionary writeToFile:filePath atomically:YES]; 

我正在像这样加载字典:

 NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString* documentsDirectory = [paths objectAtIndex:0]; NSString* filePath = [documentsDirectory stringByAppendingPathComponent:@"save.dic"]; m_dictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath]; 

任何人都可以告诉我一个很好的encryption方式\解密这个?

欢呼声,丰富

使用NSKeyedArchiver从您的字典( NSKeyedArchiver archivedDataWithRootObject NSKeyedArchiver创build一个NSData对象。 然后使用AESencryptionNSData并将其写入您的文件。

读取反过来:首先,读取NSData,通过提到的链接的方法解密,然后将解密的NSData传递给NSKeyedUnarchiver( NSKeyedUnarchiver unarchiveObjectWithData:) ,你得到你的字典。