目录

window系统下,如何使用sqlcipher工具对已加密数据库解密

window系统下,如何使用sqlcipher工具对已加密数据库解密

window系统下,如何使用sqlcipher工具对已加密数据库解密

需求背景

目前我项目里数据库是使用sqlcipher加密的,本文介绍如何使用sqlcipher工具进行解密,已给测试人员以及其他开发人员使用。

使用工具

具体解密操作

1.解压下载好的工具

https://i-blog.csdnimg.cn/blog_migrate/9a873e6f02d8364769799f6147fac77c.png

2.打开cmd命令工具进入到bin目录下

https://i-blog.csdnimg.cn/blog_migrate/9a41edd07235d772e2d39df56552ac00.png

3.解密已有的加密数据库,就以项目的universal_encrypt.db为例,执行

sqlcipher-shell64.exe universal_encrypt.db 进入到sqlite中

https://i-blog.csdnimg.cn/blog_migrate/3cb2a0f496b5901d455b8846ce1004fb.png

4.对数据库进行解密,执行以下四部操作

     1.PRAGMA key = '123456';
     2.ATTACH DATABASE 'plaintext.db' AS plaintext KEY '';
     3.SELECT sqlcipher_export('plaintext');
     4.DETACH DATABASE plaintext

5.解密完成,这个plaintext.db就是解密好的数据库

https://i-blog.csdnimg.cn/blog_migrate/cbb4802b7b46ece6a4b8795769f685f5.png https://i-blog.csdnimg.cn/blog_migrate/a15548dc58e16b65d0364165f7e2571f.png

其他使用

1.创建数据库

 1.sqlcipher-shell64.exe  encrypted .db
 2.PRAGMA key = 'password';
 3.create table encrypted (id integer, name text);
 4. .schema
     CREATE TABLE encrypted (id integer, name text);

2.对已有数据库进行加密

 1.sqlcipher-shell64.exe  universal.db
 2.ATTACH DATABASE 'encrypted.db' AS encrypted KEY 'password';
 3.SELECT sqlcipher_export('encrypted');
 4.DETACH DATABASE encrypted;

3.修改密码

1.sqlite> PRAGMA rekey = ‘newPassword’;

4.打开加密的数据库

1.sqlcipher-shell64.exe encrypted .db

2.PRAGMA key = ‘password’;

  1. .schema

参考文章: