我有一个加密的sqlite db及其密钥。 (这是由android程序生成的)。 但是,当我在命令行中打开db时,我无法读取db。 命令行工具由以下人员安装:
brew install sqlcipher
我通过以下方式打开数据库:
sqlcipher EnDB.db
>pragma key="6b74fcd";
>select * from bizinfo;
它一直告诉我“错误:文件已加密或不是数据库”
但是,如果我用gui app sqlite数据库浏览器打开数据库文件(这是一个Windows程序,我在wine中运行它)。它弹出一个窗口供我输入密钥,6b74fcd作为成功读取数据库的密钥。
由于我希望以后自动处理数据库,我不能依赖GUI。 你知道为什么命令行不起作用吗?
答案 0 :(得分:2)
已经解决了!
之后
pragma key="6b74fcd";
请致电:
pragma cipher_use_hmac=off;
然后一切都像魅力一样。 数据库似乎是一个1.x数据库。