我有一个加密的sqlite数据库和它的密钥。(由Android程序生成)。但是,当我在命令行中打开数据库时,我无法读取数据库。命令行工具的安装方式为:
brew install sqlcipher
我通过以下方式打开数据库:
sqlcipher EnDB.db
>pragma key="6b74fcd";
>select * from bizinfo;
它一直告诉我“错误:文件已加密或不是数据库”
但是,如果我用gui app sqlite数据库浏览器打开数据库文件(这是一个windows程序,我在wine中运行)。它弹出一个窗口让我输入密钥,以6b74fcd为密钥它成功读取了数据库。
因为我想在将来自动处理数据库,所以我不能依赖GUI。你知道为什么命令行不起作用吗?
2条答案
按热度按时间ny6fqffe1#
已经解决了!
后
称之为:
一切都像一个魅力。数据库是1.x数据库。
qij5mzcb2#
由于我不得不经历一些麻烦与类似的问题,这里是什么帮助我的情况。
通过在终端中打开数据库后,
我确保了兼容性
然后我提供了钥匙
现在,我可以使用SQL语句,如
显然,要确保像“mydatabase.db”、“theKey”和“myTable”这样的东西被替换为您个人的数据库名称、键和表名称。