使用密码或密码保护CoreData DB的正确方法是什么?

时间:2016-02-11 10:10:21

标签: ios objective-c security core-data aes

我在我的应用程序中使用CoreData保留一些用户数据。应保护此数据以防止其他人访问。所有者应该能够轻松访问他的数据,例如在iPhone的锁定屏幕上使用4针代码。

我正在考虑对CoreData DB文件进行AES加密,密码为4位密码。

但这是可靠的方法吗?我认为4digit引脚可以强制使用5秒。所以这是对傻瓜的保护,我是对的吗? 然后我可以选择使用4位以外的强(6-8个字母)密码。但是用户每次打开应用程序时都必须输入它,因此它不是用户友好的方式来解决问题。

有人可以给我一些建议,我有哪些选择? 我如何在这些方案中使用Apple的Keychain?

1 个答案:

答案 0 :(得分:1)

如何生成一个长期随机的盐'字符串并保留在钥匙串中?也就是说,您可以使用用户输入密钥(4位数)作为前缀并加密数据。这样,只有通过尝试应用程序中4位数的所有组合来破解它或尝试组合该未知长密钥来自加密文件上的系统(如果他们可以从app沙箱中提取它,虽然它不是很困难)。

注意: - 即使钥匙串也不是防黑客,但更好的选择..