在iOS中维护login凭据的最佳方式是什么?
我需要维护整个应用程序的login凭据,所以我有3个选项来维护我的login凭据…
1 key chain 2 NSUserDefaults 3 plist
哪一个是最好的select? 有没有其他方式来存储login凭据?
提前致谢
由于其提供的安全function,我会build议使用钥匙串来存储login凭证。 iOS上的钥匙串服务提供了安全存储密码,密钥,证书等内容的方法。
敏感的数据,如密码和钥匙应该存储在钥匙串中。 苹果的钥匙串服务编程指南指出
“钥匙串是一个encryption的容器,用于保存多个应用程序和安全服务的密码。钥匙串是安全的存储容器,这意味着当钥匙串被locking时,没有人可以访问其受保护的内容。
这里有两个很好的教程给你。
- 如何不在iOS中存储密码
- 使用钥匙串存储用户名和密码
- 如何保护用户数据
此链接旨在使Mac OSX和iOS Keychain像使用NSUserDefaults一样简单。
它是Mac OSX和iOS Keychains的一个KVO兼容的cocoa包装器,这个包装器的模型是NSUserDefaults,所以你的意图是,
[NSUserDefaultsController sharedUserDefaultsController]
你应该可以打电话
[PDKeychainBindingsController sharedKeychainBindingsController]
而对于你通常会打电话的常见情况:
[NSUserDefaults standardUserDefaults]
你应该可以打电话
[PDKeychainBindings sharedKeychainBindings]
实现之间有一些差异。 首先,这个类只对string有效,因为这就是Keychain所接受的,所以在类中省略了非string对象(如数组和字典等)的方法。 其次,现在只实现“立即模式”,所以你不能设置一堆值,然后调用“保存”来只做一个写操作,而没有“还原到保存的值”function。
我认为NSUserDefaults是简单的方法来存储login凭据在这里是一个教程