保存用户名和密码在我的iPhone应用程序,有喜欢的用户名,密码和某些URL到WebService的一些机密数据。 哪一个更好NSUserdefaults或keychain。有人说NSUserdefaults不安全。为什么它不安全? 并且可以给任何一个人的优点和缺点。存储在NSUserDefaults的或NSUserDefaults的钥匙扣是更好地在iPhone应用程序
回答
是NSUserDefaults的非常易于使用并存储每个唯一的关键一个值。但显然,这不是一个非常安全的方法,因为没有加密。
但是,钥匙串是安全的,虽然它有点难以编码。 您可以参考这些链接以使用钥匙串访问。
http://log.scifihifi.com/post/55837387/simple-iphone-keychain-code
你也可以使用这个库由西蒙
https://github.com/goosoftware/GSKeychain
deviced我希望它可以帮助你!
什么都可以(相对)容易地打开和读取,是否在设备上或在(未加密)备份到iCloud或一个同步时间的Mac。
Keychain, on the other hand, is meant for stuff like certificates and passwords。我已经链接了一篇题为“如何不在iOS中存储密码”的文章,它也提供了更多有用的细节。
钥匙扣方式是更好的解决方案,因为它更安全,但不管怎么说,如果你将这类信息保存到NSUserDefaults的,你的用户不会感觉有什么不同。如果有人盗用他们的设备,他们可以从Keychain获取信息,就像他们从UserDefaults获得信息一样。所以这个安全问题就是修辞。但无论如何,良好的编程风格是将这些数据保存到钥匙串中!
我会建议你使用钥匙串。 使用钥匙串,您可以以加密形式存储您的密码。看看苹果的GenericKeychain样品。当钥匙扣相比
是NSUserDefaults的有点不太安全。 在NSUserDefaults中,如果特定键已知,则可以轻松访问数据。 Keychain并非如此。
您也可以转换NSUserDefaults的到钥匙扣。看看here。
注意即使您的应用程序被删除,钥匙串数据仍将保留,但NSUserDefaults数据将随应用程序消失(NSUserDefaults是应用程序沙箱的一部分,Keychain是独立于应用程序的服务)可能会很有用。
- 1. iPhone钥匙扣
- 2. 清除iPhone的钥匙扣
- 3. Jenkins删除钥匙扣中的钥匙
- 4. 钥匙扣证书
- 5. 删除钥匙扣当应用程序被杀害
- 6. IOS中的钥匙扣
- 7. iOS钥匙扣安全
- 8. iCloud同步钥匙扣
- 9. 在地图更换钥匙,
- 10. 钥匙扣使用什么钥匙选项?
- 11. 使用的Android 4.1钥匙扣
- 12. 重置iPhone应用程序的钥匙串
- 13. 存储在应用程序中购买应用程序中的收据钥匙扣
- 14. 钥匙扣类别不适用于iPhone 4s/5和iPad
- 15. 问题scifihifi,iPhone项目使用苹果钥匙扣
- 16. 如何使用钥匙扣在离子混合移动应用
- 17. 用钥匙扣节省分数
- 18. 使用OSX钥匙扣混帐
- 19. iOS钥匙扣使用情况
- 20. 钥匙扣用于SSH-添加
- 21. 用手机替换钥匙扣
- 22. 如何从iPhone应用程序检索钥匙串?
- 23. 鼠标钥匙扣 - 钥匙听者没有触发
- 24. 如何看到iPhone模拟器的钥匙扣
- 25. 如何处理冲突的钥匙扣
- 26. 的iOS删除钥匙扣价值
- 27. 的APN证书定制钥匙扣
- 28. 问题与应用程序商店的钥匙串和更新
- 29. 无法使用使用钥匙串访问工具钥匙扣访问工具
- 30. 添加钥匙扣到搜索列表?
*在NSUserDefaults中,如果特定键已知,则可以轻松访问数据。 Keychain *并非如此。这是什么意思? – Honey