无法在SQLCipher之后解密sqlite
我想在mac上用SQLCipher加密/解密文件 这就是我加密数据库的方法:无法在SQLCipher之后解密sqlite,sqlite,encryption,sqlcipher,Sqlite,Encryption,Sqlcipher,我想在mac上用SQLCipher加密/解密文件 这就是我加密数据库的方法: sqlite> ./sqlcipher test.db sqlite> ATTACH DATABASE 'encrypted.db' AS encrypted KEY 'Sef*DFyds98fhsh2'; sqlite> SELECT sqlcipher_export('encrypted'); sqlite> DETACH DATABASE encrypted; 然后我尝试打开加密数据库:
sqlite> ./sqlcipher test.db
sqlite> ATTACH DATABASE 'encrypted.db' AS encrypted KEY 'Sef*DFyds98fhsh2';
sqlite> SELECT sqlcipher_export('encrypted');
sqlite> DETACH DATABASE encrypted;
然后我尝试打开加密数据库:
sqlite> ./sqlcipher encrypted.db
sqlite> PRAGMA key = 'Sef*DFyds98fhsh2';
sqlite> select * from tables;
这给了我一个错误:
Error: file is encrypted or is not a database
有一件事是我的原始数据库文件是1.6MB,但经过加密后
变成226千字节。如果您键入
sqlcipher --version
你得到了什么
如果是像2.x这样的旧版本,那就是一个问题。
帮我解决了那个问题。现在应该在3.8.x.x左右
也只是好奇,你们有一张叫做“tables”的桌子吗?
sqlcipher有一个内置的方法来执行此操作
.tables
我猜它会说“错误:没有这样的表格:表格
“如果是这样的话。您能转储加密的.db文件并确保它确实加密了吗?