在目标c中构建加密的密钥存储库?

时间:2011-11-18 17:59:09

标签: iphone objective-c ios encryption keystore

是否有任何关于使用目标c构建加密密钥存储库的教程?我想在iPhone应用程序中加密内容,但该应用程序将无法访问网络。所有内容都将作为打包方式嵌入到应用程序中。我可以简单地对解密密钥进行硬编码或使用内存中的某种算法动态生成解密密钥。但我读过这两种技术都很容易被破解。相反,我想看看我是否可以通过实现密钥库/密钥库来进一步抽象我的密钥。有什么好的指针吗?

2 个答案:

答案 0 :(得分:1)

您要加密的数据有多大?如果它是像密码这样的小数据,那么最好的办法是将它们存储在钥匙串中。如果它是较大的数据,那么您可能需要提示用户输入自己的秘密加密密钥。然后,该加密密钥可以安全地存储在Keychain中,当然也可以在解密数据时进行检索。

答案 1 :(得分:0)

我使用SFHFKeychainUtils将数据存储在内置钥匙串中。它主要是为密码而设计的,但我扩展它以支持存储任意属性列表。密钥链的主要缺点是它不一定备份(如果在iTunes中启用加密备份,它只备份到计算机上),因此某些用户可能会丢失其加密数据(特别是在迁移到新硬件时)。