gpt4 book ai didi

ios - 写入文件时尝试加密 NSDictionary

转载 作者:IT王子 更新时间:2023-10-29 08:03:38 24 4
gpt4 key购买 nike

我目前正在将 NSDictionary 保存到 iOS 设备上的文件中。然而,NSDictionary 文件是可读的 XML。我不希望人们能够进入并阅读内容,因此我需要能够在写入时加密文件并在再次加载文件时解密。

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

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];

谁能告诉我加密\解密的好方法?

干杯,丰富

最佳答案

使用 NSKeyedArchiver 从您的字典 (NSKeyedArchiver archivedDataWithRootObject:) 创建一个 NSData 对象。那么encrypt the NSData with AES并将其写入您的文件。

读取则相反:首先,读取 NSData,通过上述链接中的方法对其进行解密,然后将解密的 NSData 传递给 NSKeyedUnarchiver(NSKeyedUnarchiver unarchiveObjectWithData:),然后您就可以取回字典。

关于ios - 写入文件时尝试加密 NSDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5895899/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com