目前我可以使用 DB Browser for SQLite 在 Mac 上打开带密码的加密 DB 文件。
每个图像的选项:
- 原始 key (以 0x 开头...)
- SQLCipher 3 默认值
我想使用命令行而不是数据库浏览器打开此文件。
尝试遵循命令,但到目前为止似乎运气不佳。
sqlcipher xxx.db
SQLite version 3.37.2 2022-01-06 13:25:41 (SQLCipher 4.5.1 community)
Enter ".help" for usage hints.
sqlite> pragma key="0xMyKey";
ok
sqlite> .tables
Error: file is not a database
提前感谢您的帮助,以便我可以像 mysql 一样使用命令行访问或导出 sqlite 数据库(mysql -u ... & mysqldump)。
最佳答案
通过此链接找到文档:https://www.zetetic.net/sqlcipher/sqlcipher-api/
sqlcipher xxx.db
SQLite version 3.37.2 2022-01-06 13:25:41 (SQLCipher 4.5.1 community)
Enter ".help" for usage hints.
sqlite> PRAGMA key = "x'{KEY_WITHOUT_0X}'"; // Replace {KEY_WITHOUT_0X} with your key without 0x!
ok
sqlite> PRAGMA cipher_page_size = 1024;
sqlite> PRAGMA kdf_iter = 64000;
sqlite> PRAGMA cipher_hmac_algorithm = HMAC_SHA1;
sqlite> PRAGMA cipher_kdf_algorithm = PBKDF2_HMAC_SHA1;
sqlite> PRAGMA cipher_default_plaintext_header_size = 0;
sqlite>
关于sqlite - 如何使用命令行访问加密的 SQLite 数据库文件而不是数据库浏览器界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72169732/