我在我的应用程序中保留了一些CoreData的用户数据。这些数据应该受到保护,以防其他人访问。所有者应该能够轻松地访问他的数据,例如与iPhone的锁定屏幕上的4 pin代码。
我正在考虑CoreData DB文件的AES加密,它的密码是4位数字的PIN码。
但是这是可靠的方法吗?我想4位数的密码可以在5秒内被暴力破解。所以这是一种“保护自己不受愚弄”,我说的对吗?然后我可以选择使用强(6-8个字母)密码,而不是4位数字。但用户每次打开应用程序时都必须输入它,所以这不是一个非常友好的解决问题的方法。
有没有人能给我一些建议,我有哪些选择?我如何在这些方案中使用苹果的钥匙链?
发布于 2016-02-11 18:51:48
生成一个长的随机的'salt‘字符串并将其保存在keychain中怎么样?也就是说,您可以在其前面加上用户输入密钥(4位),并对数据进行加密。这样,破解它的唯一方法,通过尝试应用程序中4位数字的所有组合,或者尝试从系统中对加密文件进行未知长密钥的组合(如果他们可以从应用程序沙箱中提取它,尽管这并不是很困难)。
注意:-即使钥匙串也不是防黑客的,但却是更好的选择。
https://stackoverflow.com/questions/35336265
复制相似问题