在iOS中维护login凭据的最佳方式是什么?

我需要维护整个应用程序的login凭据,所以我有3个选项来维护我的login凭据…

1 key chain 2 NSUserDefaults 3 plist 

哪一个是最好的select? 有没有其他方式来存储login凭据?

提前致谢

由于其提供的安全function,我会build议使用钥匙串来存储login凭证。 iOS上的钥匙串服务提供了安全存储密码,密钥,证书等内容的方法。

敏感的数据,如密码和钥匙应该存储在钥匙串中。 苹果的钥匙串服务编程指南指出

“钥匙串是一个encryption的容器,用于保存多个应用程序和安全服务的密码。钥匙串是安全的存储容器,这意味着当钥匙串被locking时,没有人可以访问其受保护的内容。

这里有两个很好的教程给你。

  1. 如何不在iOS中存储密码
  2. 使用钥匙串存储用户名和密码
  3. 如何保护用户数据

此链接旨在使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凭据在这里是一个教程

http://www.icodeblog.com/2008/10/03/iphone-programming-tutorial-savingretrieving-data-using-nsuserdefaults/

Interesting Posts