NSHTTPCookieStorage、keychain和NSUserdefault之间的区别?

3
iOS: 在这三个选项NSHTTPCookieStorageKeychainNSUserDefault中,哪个是设备上存储令牌的最佳位置?为什么?
注:我不想与任何其他应用程序或Safari /浏览器共享令牌。
1个回答

1

NSUserDefault,其中存储的数据将保持不变,直到应用程序存在。一旦您删除应用程序,所有内容都将丢失。安全性不够。

Keychain,其中存储的数据将保持不变,直到用户重置整个手机设置。请参考link以获取更多信息和实现方法。如果用户备份该iPhone并将其还原到任何其他手机上,则所有数据都将对该设备可用。此外,所有数据都以安全和加密的格式存储。

NSHTTPCookieStorage实现了一个单例对象(共享实例),用于管理cookie的存储。每个cookie由NSHTTPCookie类的实例表示。通常,cookie在所有应用程序之间共享,并在跨进程边界上保持同步。会话cookie(其中cookie对象的isSessionOnly方法返回YEStrue)仅局限于单个进程,并且不共享。

如果您希望在应用程序以及Safari浏览器或任何其他应用程序中存储令牌,则 NSHTTPCookieStorage 是更好的选择。

但我不想与任何其他应用程序或Safari / 浏览器共享令牌。 - Priyanka Chhetri
那么 Keychain 是最好的选择。 - Nilesh Patel
如果您想在用户登录时更新令牌,则 NSUserDefaults 是一个不错的选择。 - Nilesh Patel
如果你想要保护令牌,那么使用钥匙串是一个不错的选择。NSUserDefault 几乎从来不是一个好的选择,也不安全。 - zaph

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接