可可中少量数据的数据持久性

时间:2014-03-03 07:15:45

标签: objective-c xcode macos cocoa

我正在忙着编写我的第一个cocoa应用程序,我必须在硬盘上存储2个NSStrings(用户名和密码)。最好的方法是什么?只是写一个文件?如果是这样,哪里是我存储此文件的最佳位置?

我只是不想在2个简单的字符串中使用一些矫枉过正的技巧..谢谢!

2 个答案:

答案 0 :(得分:1)

最简单的方法是使用 UserDefaults 。这是一个通常用于存储应用程序设置和首选项的地方。

存储字符串

NSString *user = @"Peter";
[[NSUserDefaults standardUserDefaults] setObject:valueToSave forKey:@"userName"];

稍后再回来

NSString *user = [[NSUserDefaults standardUserDefaults] stringForKey:@"userName"];

如果您要保存密码,可以考虑加密密码,或者不存储密码,而是存储密码的哈希值。

答案 1 :(得分:1)

首先使用MD5,SHA-1或其他算法加密用户名和密码字符串。

使用后:

NSUserDefaults* prefs = [NSUserDefaults standardUserDefaults];

[prefs setObject:encryptedUsername forKey:@"userName"];
[prefs setObject:encryptedPassword forKey:@"password"];

[prefs synchronize];


// To retrieve info
encryptedUsername = [prefs objectForKey:@"userName"];
encryptedPassword = [prefs objectForKey:@"password"];

加密用户输入数据并比较加密字符串后。