我正在使用Mac上的SQLCipher加密/解密文件。
这就是我对db:
进行加密的方法example
├───┐ static
│ ├───┐ js
│ │ ├─── Leaflet.vector-markers.min.js
│ │ └─── Leaflet.vector-markers.js
│ ├───┐ data
│ │ └─── Toulouse.csv
│ └───┐ css
│ ├─── Leaflet.vector-markers.css
│ └─── Leaflet.vector-markers.css.map
├───┐ lib
│ ├─── __init__.py
│ └─── JCDecaux.py
├───┐ templates
│ └─── index.html
├─── serve.py
└─── update.py
然后我尝试打开加密的数据库:
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;
有一件事是我的原始db文件是1.6兆字节但加密后它 变成226 KlioByte。
答案 0 :(得分:0)
如果您输入
sqlcipher --version
你回来了什么?
如果像2.x这样的老东西是个问题。 Building from source为我解决了这个问题。现在应该在3.8.x.x左右。
也很好奇,你有一张叫做'桌子'的桌子吗? sqlcipher有一个内置的方法来执行此
.tables
我想它会说“错误:没有这样的表:表格 “如果是这样的话。