我的客户问我是否可以加密他的iOS SQLite文件。
我检查这两个资源:在iOS上加密SQLite数据库文件
Encrypt & Decrypt Sqlite file (Using Core Data)
http://support.apple.com/kb/HT4175
请纠正我,如果我错了,该文件将被加密,所以没有人会能够破解进去(虽然这将是可能的对于一个坚定的饼干我认为)。
核心数据查询将照常运行吗?我的意思是没有性能损失,既不是一个不同的API。
我的客户问我是否可以加密他的iOS SQLite文件。
我检查这两个资源:在iOS上加密SQLite数据库文件
Encrypt & Decrypt Sqlite file (Using Core Data)
http://support.apple.com/kb/HT4175
请纠正我,如果我错了,该文件将被加密,所以没有人会能够破解进去(虽然这将是可能的对于一个坚定的饼干我认为)。
核心数据查询将照常运行吗?我的意思是没有性能损失,既不是一个不同的API。
您提供的链接是关于在整个设备上加密存储的说明;但是,如果目标是用户无法直接打开数据库文件,那么它将不会对您有所帮助,因为唯一可以防止您的数据在设备被盗时被访问。它也依赖于用户来设置它,应用程序不能强制设备存储被加密。
基本上,希望存储加密的动机是什么?
编辑:
基于该响应链,我认为使用SQLLite的加密变体在:
是一个很好的解决方案。这会在数据库内容到达存储之前对其进行加密,这非常棒。攻击者仍然可能能够找到代码中用于解密数据库的密钥,但是可以添加的任何防护层都将有所帮助。我不认为你可以使用与CoreData(因为它之上构建内置sqllite库),但你很可能与像FMDB包装使用它:
我的客户要加密数据库文件,以防止用户直接打开数据库文件。在这种情况下做什么? – Chiron 2011-01-20 23:35:02