保护sqlite数据库免于下载

时间:2012-10-05 14:05:07

标签: database sqlite core-data encryption jailbreak

没有办法阻止在越狱iPhone中下载预装的数据库 Any way to get your SQLite DB off iPhone?

我认为唯一的方法是加密预加载的数据库(可能只加密我们不需要搜索的单个字段内的数据)并仅在View必须加密时解密显示数据 (当然所有这些都使用个人密钥)

有人知道如何做到准确,是否有更好的解决方案? 我正在使用Core Data,但我无法解密NSString属性,我只能解密NSData,但创建一个包含文本加密字符串的数据(BLOB)字段的sqlite数据库并不简单。

谢谢!

1 个答案:

答案 0 :(得分:0)

也许我找到了解决方案!

我在iOS5和iOS6上试用这个代码,效果很好。现在我可以使用个人关键字加密NSString并获得NSString(使用AES256和Base64编码)。 实际上,代码只需要一个简单的修改就可以使用ARC。

https://github.com/dev5tec/FBEncryptor.git

如果有人找到更好的解决方案,请在此处发帖。

对于最好的解决方案,如果有一种方法可以从FileMaker或其他方法导出csv数据中的加密字段,并在sqlite数据库中导入,则可能非常有用。通过这种方式,我们可以在Core Data中预加载sqlite数据库。当视图必须在屏幕上显示时,应用程序可以解密字段。