在iOS上encryptionSQLite数据库文件

我的客户问我是否可以encryption他的iOS SQLite文件。
我检查了这两个资源:

encryption和解密Sqlite文件(使用核心数据)
http://support.apple.com/kb/HT4175

请纠正我,如果我错了,文件将被encryption,所以没有人能够破解它(虽然这将是可能的一个坚定的cookies,我认为)。

核心数据查询将照常运行吗? 我的意思是没有性能损失,既不是一个不同的API。

您提供的链接是关于encryption整个设备的存储的; 但是,如果目标是用户无法直接打开数据库文件,那么将无法帮助您,因为唯一可以防止数据在设备被盗的情况下被访问。 它也依赖于用户来设置,应用程序不能强制设备存储被encryption。

基本上,想要存储encryption的动机是什么?

编辑:

基于响应链,我认为在以下位置使用SQLLite的encryption变体:

http://sqlcipher.net/

是一个好的解决scheme。 这在数据库内容到达存储之前进行encryption,这很好。 攻击者仍然可以find你的代码中使用的密钥来解密数据库,但是你可以添加任何防御层。 我不认为你可以在CoreData中使用它(因为它是build立在内置的sqllite库之上的),但你也可以像FMDB一样使用它:

https://github.com/ccgus/fmdb