4

我有一个加密的 sqlite 数据库及其密钥。(由安卓程序生成)。但是,当我在命令行中打开数据库时,我无法读取数据库。命令行工具通过以下方式安装:

brew install sqlcipher

我通过以下方式打开数据库:

sqlcipher EnDB.db
>pragma key="6b74fcd";
>select * from bizinfo;

它一直告诉我“错误:文件已加密或不是数据库”

但是,如果我使用 gui app sqlite 数据库浏览器(这是一个 windows 程序,我在 wine 中运行它)打开数据库文件。它弹出一个窗口让我输入密钥,以 6b74fcd 作为它成功读取数据库的密钥。

sqlite 数据库浏览器

由于我想将来自动处理数据库,所以我不能依赖 GUI。你知道为什么命令行不起作用吗?

4

1 回答 1

5

已经解决了!

pragma key="6b74fcd";

调用这个:

pragma cipher_use_hmac=off;

然后一切都像一个魅力。该数据库似乎是一个 1.x 数据库。

于 2013-10-26T04:29:57.310 回答