Swift 中 NSUserDefaults 的安全性

security of NSUserDefaults in Swift

我正在使用我的第一个 iPhone 应用程序。我为用户做了简单的登录。我想将变量存储在 NSUserDefaults 中,它将跟踪用户是否已登录。如果用户已登录,则为 1,否则为 0。当然还有其他变量用户名。

我的问题是:NSUserDefaults 保存这样的信息是否安全?有没有什么方法可以让某人或用户在不知道密码的情况下操纵这些变量并登录?

如果您需要安全性,您应该使用钥匙链。它对值进行编码,是保存一些安全信息的最佳方式。你应该知道的一件事是你不应该在那里存储大量数据,因为这个存储与整个设备有关,而不仅仅是与你的应用程序有关,所以如果你的应用程序将被删除,存储的数据仍然存在。例如,使用用户默认值存储的数据将立即被删除(与使用核心数据相同)。