微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

加密 – 如何在命令行上解密加密的sqlcipher数据库文件?

问题很简单

我所拥有的是:

>我有一个使用sqlcipher加密的数据库文件.
>我还有用于加密此db文件的密码

我需要的是:

>我需要解密数据库文件/需要一个未加密/非加密/解密的数据库文件.

解决方法

下载并构建sqlcipher – 如果已安装sqlcipher,请执行此操作
从目录中拉出 https://github.com/sqlcipher/sqlcipher中的代码(比如〜/ sqlcipher)
mkdir ~/bld;        #  Build will occur in a sibling directory
cd ~/bld;           #  Change to the build directory
../sqlcipher/configure --enable-tempstore=yes CFLAGS="-DsqlITE_HAS_CODEC" LDFLAGS="-lcrypto"; 
                    #configure sqlcipher 

make install;       #  Install the build products

数据库解密为纯文本数据库

$cd ~/;
$./sqlcipher encrypted.db 
sqlite> PRAGMA key = 'testkey'; 
sqlite> ATTACH DATABASE 'plaintext.db' AS plaintext KEY '';  -- empty key will disable encryption
sqlite> SELECT sqlcipher_export('plaintext'); 
sqlite> DETACH DATABASE plaintext;

在〜/ plaintext.db找到解密的数据库,你可以使用任何sqlite浏览器,如this.

更新:2015年9月

http://sqlitebrowser.org现在支持sqlcipher数据库.那很整齐.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐