写入文件时尝试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:) ,你得到你的字典。