我想在设备中非常安全地存储一个键值对。但是,我想将数据保存到设备中的应用程序。
一旦应用程序被删除,这些数据也应该被删除。
NSUserdefault 不是很安全。
key 扣 是另一种选择,因为它是安全的,但即使在应用程序从设备中删除后它也会保留数据。
我该如何进行。
有什么帮助吗?
最佳答案
创建一个随机加密 key 。将加密 key 存储在钥匙串(keychain)中。使用加密 key 加密数据。将加密数据存储在应用程序目录中任何方便的地方。如果您想在恢复过程中保留它,请将其存储在备份的位置(例如库/应用程序支持或 NSUserDefaults)。如果您不希望在恢复过程中保留它,请将其存储在 Library/Caches 中(您可能需要对此进行一些研究;“当系统磁盘空间非常低时,系统可能会在极少数情况下删除 Caches 目录”所以存在丢失数据的危险,但无论如何您都必须处理它以防恢复)。您也可以使用NSURLIsExcludedFromBackupKey
以避免备份它。
当应用程序被删除时,加密数据将被删除。您将在钥匙串(keychain)中留下随 secret 钥,但这只是一个没有值(value)的随机数。
关于ios - 将数据安全地存储在设备中,直到应用程序出现在 iOS 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38593528/