Joh*_*tty 16 iphone keychain nsuserdefaults
在我的iPhone应用程序中,有一些机密数据,如用户名,密码和网络服务的一些网址.哪一个更好NSUserdefaults或钥匙串.有人说NSUserdefaults不安全.为什么不安全?并且任何人都可以给出每个人的利弊.
App*_*304 16
NSUserDefaults非常易于使用,仅为每个密钥存储一个值.但显然,它不是一种非常安全的方法,因为没有加密.
但是Keychain是安全的,虽然编码有点困难.您可以参考这些链接以使用钥匙串访问.
http://log.scifihifi.com/post/55837387/simple-iphone-keychain-code
你也可以使用Simon设计的这个库
https://github.com/goosoftware/GSKeychain
我希望它可以帮到你!!
Ras*_*spu 11
注意即使你的应用程序被删除,Keychain数据也会被持久化,但NSUserDefaults数据会随应用而消失(NSUserDefaults是应用程序沙箱的一部分,Keychain是一个独立于应用程序的服务).
存储在NSUserDefaults中的任何内容都可以(相对)轻松地打开和读取,无论是在设备上还是在(非加密)备份到iCloud或同步的Mac上.
另一方面,钥匙串用于证书和密码之类的东西.我已经链接了一篇名为"如何不在iOS中存储密码"的文章,它也提供了更多有用的细节.