繁体   English   中英

在 iOS 中维护登录凭据的最佳方法是什么?

[英]What is the best way to maintain the login credentials in iOS?

我需要在整个应用程序中维护我的登录凭据,因此,我有 3 个选项来维护我的登录凭据...

1 key chain
2 NSUserDefaults
3 plist

选择哪一个最好? 还有其他方法可以存储登录凭据吗?

提前致谢

由于其提供的安全功能,我建议使用钥匙串存储登录凭据。 iOS上的钥匙串服务提供了一种安全存储密码,密钥,证书等内容的方法。

密码和密钥等敏感数据应存储在钥匙串中。 Apple的Keychain Services Programming Guide声明了这一点

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

这是两个很好的教程。

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

链接旨在使Mac OSX和iOS Keychains像NSUserDefaults一样简单。

它是围绕Mac OSX和iOS Keychains的符合KVO标准的Cocoa包装器,这个包装器的模型是NSUserDefaults,因此意图是对于您通常想要调用的常见情况:

[NSUserDefaultsController sharedUserDefaultsController]

你应该可以打电话

[PDKeychainBindingsController sharedKeychainBindingsController]

对于您通常会调用的常见情况:

[NSUserDefaults standardUserDefaults]

你应该可以打电话

[PDKeychainBindings sharedKeychainBindings]

这些实现之间存在一些差异。 首先,此类仅对字符串有效,因为这是Keychain接受的内容,因此从类中省略了采用非字符串对象(如数组和字典等)的方法。 其次,现在只实现“立即模式”,所以你不能设置一堆值然后调用“save”来只做一次写操作,并且没有“恢复到保存的值”功能)。

我认为NSUserDefaults是存储登录凭据的简单方法,这是一个教程

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM