加密&解密Sqlite文件(使用核心数据)

时间:2010-11-23 09:18:16

标签: iphone objective-c sqlite core-data encryption

我正在使用预先填充的带有核心数据的SQLite数据库。

我的问题是我想加密Core Data生成的sqlite数据库文件。我无法加密数据,因为项目中涉及大量查询。所以,只有我想加密文件。

我已经浏览了很多论坛,源代码,库,但是想不出多少。

我已经使用了这个iphone blog提供的库,但是这些库是错误的。

如果你有一些核心解决方案,那么请帮助。

谢谢, 塔里克

3 个答案:

答案 0 :(得分:5)

数据保护:

数据保护功能适用于提供硬件加密的iOS 4设备:iPhone 4,iPhone 3GS,iPod touch(第3代或更高版本)以及所有iPad型号。本文概述了如何启用和验证数据保护。

http://support.apple.com/kb/HT4175

Link to apple article from way back machine as original link is removed

Apple开发人员博客描述了NSFileProtectionComplete的功能部分。

“NSFileProtectionComplete

        The file is stored in an encrypted format on disk and cannot be read from or written to while the device is locked or booting.”

答案 1 :(得分:1)

Apple在iOS中支持其CommonCrypto库,并且a sample code project用于演示非对称和对称加密/解密的使用。

您采取的方法取决于您打算如何保护数据;对称方法可能需要将密钥存储在应用程序中,这会降低安全性。但无论如何,示例代码都应该让你开始。

答案 2 :(得分:0)

数据保护功能适用于提供硬件加密的iOS 4设备:iPhone 4,iPhone 3GS,iPod touch(第3代或更高版本)以及所有iPad型号。本文概述了如何启用和验证数据保护。

http://support.apple.com/kb/HT4175

希望这有帮助