我想使用sqlcipher加密数据库。
我已经完成了集成os openssl和sqlcipher集成,并且构建工作非常完美。
但我的问题是我无法加密我的数据库。我不知道如何使用sql cipher执行该活动或方法来加密数据库。
我在SQL Cipher上阅读,但我无法理解相同的过程。我尝试了他们提供的代码但没有工作。
编辑:任何人都可以告诉我如何设置相同的PRAGMA密钥,然后如何开始加密?因为我的加密只剩下这部分才能完成。
请帮助我摆脱这种情况。
提前致谢
答案 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;