我需要在整个应用程序中维护我的登录凭据,因此,我有 3 个选项来维护我的登录凭据...
1 key chain
2 NSUserDefaults
3 plist
哪一个是最好的选择?还有其他方法可以存储登录凭据吗?
提前致谢
我需要在整个应用程序中维护我的登录凭据,因此,我有 3 个选项来维护我的登录凭据...
1 key chain
2 NSUserDefaults
3 plist
哪一个是最好的选择?还有其他方法可以存储登录凭据吗?
提前致谢
由于它提供的安全功能,我建议使用钥匙串来存储登录凭据。iOS 上的钥匙串服务提供了一种安全存储密码、密钥、证书等内容的方法。
密码和密钥等敏感数据应存储在钥匙串中。Apple 的钥匙串服务编程指南指出
“钥匙串是一个加密的容器,其中包含多个应用程序和安全服务的密码。钥匙串是安全存储容器,这意味着当钥匙串被锁定时,没有人可以访问其受保护的内容”。
这里有两个很好的教程给你。
此链接旨在使使用 Mac OSX 和 iOS 钥匙串像 NSUserDefaults 一样简单。
它是一个围绕 Mac OSX 和 iOS 钥匙串的 KVO 兼容 Cocoa 包装器,这个包装器的模型是 NSUserDefaults,因此目的是对于您通常想要调用的常见情况:
[NSUserDefaultsController sharedUserDefaultsController]
你应该可以打电话
[PDKeychainBindingsController sharedKeychainBindingsController]
对于您通常会调用的常见情况:
[NSUserDefaults standardUserDefaults]
你应该可以打电话
[PDKeychainBindings sharedKeychainBindings]
实现之间存在一些差异。首先,这个类只对字符串有效,因为这是 Keychain 接受的,所以类中省略了接受非字符串对象(如数组和字典等)的方法。其次,现在只实现了“立即模式”,所以你不能设置一堆值然后调用“保存”只做一次写入,并且没有“恢复到保存的值”功能)。