如何使用sqlcipher加密数据库

时间:2011-04-13 11:49:17

标签: iphone ios4 sqlite sqlcipher

我想使用sqlcipher加密数据库。

我已经完成了集成os openssl和sqlcipher集成,并且构建工作非常完美。

但我的问题是我无法加密我的数据库。我不知道如何使用sql cipher执行该活动或方法来加密数据库。

我在SQL Cipher上阅读,但我无法理解相同的过程。我尝试了他们提供的代码但没有工作。

编辑:任何人都可以告诉我如何设置相同的PRAGMA密钥,然后如何开始加密?因为我的加密只剩下这部分才能完成。

请帮助我摆脱这种情况。

提前致谢

1 个答案:

答案 0 :(得分:3)

使用SQLCipher确保您拥有一个全新的SQLite数据库。尝试使用密钥对数据库进行编译,而由于某种原因它已经有数据只是尝试解密它。

以下是working with an existing SQLite database的一些其他信息。在此示例中,encrypted.db是您创建的全新数据库和pragma。

ATTACH DATABASE 'encrypted.db' AS encrypted KEY 'secret'; -- create a new encrypted database
CREATE TABLE encrypted.t1(a,b); -- recreate the schema in the new database (you can inspect all objects using SELECT * FROM sqlite_master)
INSERT INTO encrypted.t1 SELECT * FROM t1; -- copy data from the existing tables to the new tables in the encrypted database
DETACH DATABASE encrypted;