Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在SQLCipher之后解密sqlite_Sqlite_Encryption_Sqlcipher - Fatal编程技术网

无法在SQLCipher之后解密sqlite

无法在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; 然后我尝试打开加密数据库:

我想在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 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文件并确保它确实加密了吗?