本文介绍了如何在命令行上解密加密的sqlcipher数据库文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问题很简单

我的是:


  • 我有一个使用sqlcipher加密的数据库文件

  • 我还拥有用于加密此数据库文件的密码

  • I have a database file which is encrypted using sqlcipher.
  • I also have the passphrase which was used to encrypt this db file

我需要的是:


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

推荐答案

h1>下载并构建sqlcipher

- 如果sqlcipher已安装,请跳过此步骤


从在一个目录中(例如〜/ sqlcipher)

Download and Build sqlcipher

--Skip this if sqlcipher is already installed

Pull the code from https://github.com/sqlcipher/sqlcipher in a directory (say ~/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浏览器,如。

Find the decrypted database at ~/plaintext.db which you can use with any sqlite browser like this.

更新 :2015年9月

Update : September 2015

现在支持sqlcipher数据库。这很整洁。

http://sqlitebrowser.org now supports sqlcipher databases. That's neat.

这篇关于如何在命令行上解密加密的sqlcipher数据库文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-11 12:33