3

iOS : NSHTTPCookieStorage, Keychain,NSUserDefault在这三个之间,在设备上存储令牌的最佳位置是什么?为什么?

注意:我不想与任何其他应用程序或 Safari/浏览器共享令牌。

4

1 回答 1

1

NSUserDefault,存储在其中的数据将保持原样,直到应用程序在那里。删除应用程序后,所有内容都将丢失。没有完全安全。

Keychain,存储在其中的数据将保持不变,直到用户重置整个手机设置。请参阅此链接以获取更多信息以及实施。如果用户对该 iPhone 进行备份并使用它重新存储任何其他手机,则该设备将可以使用所有数据。此外,所有数据都以加密格式安全存储。

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

如果您想在应用程序以及 Safari 浏览器或任何其他应用程序中存储令牌使用,那么NSHTTPCookieStorage对您来说是更好的选择。

于 2015-07-23T09:30:07.887 回答