iOS密钥链持久性和性能

时间:2013-05-31 21:14:48

标签: ios keychain

在我们的应用程序中,我们广泛使用钥匙串与其他应用程序进行通信。 我有一个与密钥链使用和限制相关的问题。

密钥链可以存储很长的字符串,与NSString的最大长度相同。 在密钥链中存储大量数据(GB数据)的性能影响是什么?

iOS是否在内存不足的情况下删除了密钥链文件?

由于

2 个答案:

答案 0 :(得分:0)

钥匙串服务API通过为您的应用程序提供一种机制来将少量用户数据存储在称为钥匙串的加密数据库中,从而帮助您解决此问题。当您牢记密码时,您就可以释放用户选择复杂密码的权限。

Performance Key chain

默认情况下,钥匙串服务会删除所有与搜索参数匹配的钥匙串项目。如果要删除已有参考或永久参考的特定项目,请将其作为kSecMatchItemList键的值添加到搜索字典中。这样,您可以将删除限制为仅指定的项目。

Updating and Deleting keychain

由于“钥匙串”包含许多密码,加密密钥,证书等,因此,在没有太多尊重的情况下就不应该使用它。除非您真的知道它们的用途,否则不要删除任何条目,不要删除完整的钥匙串,并且如果要求您验证任何更改,请在提交之前三思而行

答案 1 :(得分:-1)

关于你的记忆问题,请看看上一篇文章:

decoding a HUGE NSString, running out of memory

关于您的效果问题,请看一下之前的答案:

NSString stringWithFormat is slow