2

我正在开发一个应用程序,虽然它本身没有“凭据”,但它确实为每个用户分配了一些识别信息,以便与远程服务一起使用。为了安全起见,此信息应尽可能不可见。甚至用户也不应该能够访问此信息。

对于在应用程序中为用户保存此信息的位置,我还没有找到明确的答复。

1)鉴于数据的敏感性,钥匙串似乎是合适的地方,但这些数据并不完全是用户名和密码。这有什么区别吗?

2)据我所知,只要您不通过设置视图公开它,NSUserDefaults 似乎也很私密,但我认为不如 Keychain 本身安全。

意见?

提前感谢您的帮助!

4

1 回答 1

2

我知道这个问题很老,但我偶然发现了它,所以这就是我发现的。NSUserDefaults 存储未加密的数据,因此不应将其用于敏感数据。稍有知识的用户可以从计算机上访问它。如果需要完全隐藏,钥匙串将是合适的地方。如果您要存储不需要保密的个人信息,那么 NSUserDefaults 就可以了。

这是一篇很棒的文章,进一步解释了它:

https://www.andyibanez.com/nsuserdefaults-not-for-sensitive-data/

于 2015-01-16T22:34:42.347 回答