今天使用sqlcipher加密sqllite数据库时转弯转进了误区,作为小白,就用小白的方式来记录一下使用该工具一些心得。
首先,从网上下载了一个sqlcipher-3.0.1-windows ,在这里附上下载地址:https://pan.baidu.com/s/1amtabD-jVRdkomKKGnpjgA

基本原理
现在有三个数据库【数据库名称随意】
origin.db,这个是源数据库,也就是你想要加密的数据库。
encrypted.db ,这个加密后的数据库
plaintext.db,这个是解密后的数据库
加密:把源数据库里面的所有数据,复制到一个已经加密的数据库encrypted.db中,encrypted.db这个数据库是运行命令的时候生成的,并且是加密的。
解密:把加过密的数据库encrypted.db里面所有的数据拷贝到plaintext.db数据库中,plaintext.db是运行命令的时候生成的,并且没有密码。

使用sqllite打开plaintext.db,这里面的内容和源数据库中内容一致。
以上就是加密和解密的过程。

下面就介绍使用命令进行加密和解密。

1.解压下载好的工具。
bin目录里面的结构:

2.打开命令行【win+R ->cmd】
使用命令打开工具所在的文件夹,我的文件夹是:E:\360安全浏览器下载\AAA\sqlcipher-windows\bin

输入命令1:sqlcipher-shell64.exe origin.db 【完成之后按Enter键】
输入命令2:ATTACH DATABASE ‘encrypted.db’ AS encrypted KEY ‘thisiskey’; 【Enter】
输入命令3:SELECT sqlcipher_export(‘encrypted’); 【Enter】
输入命令4:DETACH DATABASE encrypted; 【Enter】

上述命令完成之后,就完成了一个加密的过程。接下来解释一下上面的命令:
命令1,使用工具sqlcipher-shell64.exe ,空格之后,后面紧跟着的是你要操作的源数据库。
命令2,新建一个数据库文件encrypted.db,并打开连接。这里encrypted.db是一个加密的db文件
encrypted:是该数据库的别名,
thiskey:是新建的这个数据库文件的密码
命令3,调用了工具的一个接口,该接口的作用就是把上面操作的源数据库origin.db里面的所有数据拷贝到encryted.db当中。
命令4,断开连接

解密:把加密的数据库encryted.db里面所有的数据拷贝到未加密的数据库plaintext.db中。
使用window命令行打开到bin目录文件夹
输入命令1,sqlcipher-shell64.exe encryted.db 【Enter】
输入命令2,PRAGMA key = ‘thisiskey’;
输入命令3,ATTACH DATABASE ‘plaintext.db’ AS plaintext KEY ‘’;
输入命令4,SELECT sqlcipher_export(‘plaintext’);
输入命令5,DETACH DATABASE plaintext;

命令解释:
命令1,要操作加密的数据库
命令2,输入加密数据库的密码
命令3,新建了一个数据库plaintext.db, 密码是空【两个单引号中间是空】
命令4,拷贝加密数据库中所有的数据到plaintext.db中
命令5,断开连接
上述命令完成之后就完成了一个解密的过程。
使用sqlite打开plaintext.db发现里面数据和源数据库中的文件一致

我的误区:
1.一开始完成加密后,我以为是origin.db这个文件被加密。其实这个数据库是没有被加密的。加密的是encryted.db这个数据库
2.解密完成之后,使用sqlite打开encryted.db,并输入密码,就是打不开。其实解密不是对encryted.db进行解密,而是把encryted.db里面内容拷贝到新的数据库中。
3,要使用window命令行操作。

上述误区1,2是因为没有明白加,解密的原理导致走了弯路,所以我把原理写在了最前面。
上面写的有点啰嗦,只是想让小白能够看懂,大神略过,如果有不对的地方也请大神不吝赐教!

window系统下,使用sqlcipher工具加、解密sqllite数据库相关推荐

  1. 使用FFmpeg工具将一个图片和一个音频合成一个视频以及在window系统下使用脚本运行

    注意:使用命令前检查正在使用的电脑是否安装的有ffmpeg工具以及是否配置环境变量. 命令: ffmpeg -r 10 -f image2 -loop 1 -i F:\javatest\3.jpg - ...

  2. window系统下如何查看so库的信息

    转载请标明出处,维权必究:https://www.cnblogs.com/tangZH/p/10458388.html  linux系统下能够直接用命令行查看so库的信息,但是window系统下咋办好 ...

  3. window系统下的堆栈溢出 作者:ipxodi

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  4. linux下的pdf工具下载,Linux_Linux系统下的PDF工具 LinuxPDFeditor, Linux下PDF编辑软件nb - phpStudy...

    Linux系统下的PDF工具 LinuxPDFeditor Linux下PDF编辑软件 修改用pdfedit,加注记用xournal,合并用pdktk. 当用户在寻找适宜的PDF编辑器时,Linux ...

  5. window系统下安装TensorFlow-gpu

    window系统下安装TensorFlow-gpu 本教程是在window系统下进行的,如果你是Linux系统,请寻找其他教程. 本教程安装的是TensorFlow-gpu 2.1.0版本 1.我的安 ...

  6. window系统下C语言找不到fork()函数

    window系统下C语言找不到fork()函数 有次模拟进程时,想在window系统下调用fork()函数,但是就是引入相关头文件都无法找到函数,一开始是怀疑是否引入的头文件有误或者缺失,发现并没有缺 ...

  7. Window系统下如何生成ssh key以及如何在码云中添加公钥

    前言 本篇文章是以window系统和码云为例讲解如何在window系统下生成ssh key,然后在码云中添加公钥,然后可以远程仓库的ssh地址克隆远程git仓库代码 一.首先在window下生成ssh ...

  8. vm虚拟服务器添加网卡,win7系统下vmware虚拟机添加加载无线网卡的方法

    vmware虚拟机想必大家都很熟悉吧,很多win7系统用户想要在vmware虚拟机添加加载无线网卡的,然而它本身是无法识别添加加载无线网卡的,那么要怎么办呢,下面给大家分享一下win7系统下vmwar ...

  9. window系统下多个版本谷歌浏览器并存

    window系统下多个版本谷歌浏览器并存 在实际开发中,我们可能会遇到测试多个谷歌版本的问题,以此记录. 我们选择使用GoogleChromePortable.exe. GoogleChromePor ...

  10. phpcms选择文件无法加载插件怎么办_win7系统下浏览器显示无法加载插件如何解决...

    最近有win7旗舰版32位系统用户反映说碰到这样一个现象,就是在使用浏览器观看视频的时候,却显示无法加载插件,该怎么办呢,本教程就给大家带来win7系统下浏览器显示无法加载插件的具体解决步骤. 1.当 ...

最新文章

  1. java 无法取消引用_Java的新手,并出现错误“无法取消引用int” - java
  2. 单片机中存储器扩展位地址线怎么算_关于单片机外扩存储器的编址方法
  3. Android:按键响应方式第一种onClick属性,第二种方法接口类,第三种方式匿名内部类,第四种方式Activity
  4. 迷失在小镇上的日记(16)
  5. 凭什么,Netty能成为最流行的NIO框架?
  6. Java抓取淘宝/天猫商品详情 1
  7. 离散数学第六版第er章偶数题答案_离散数学答案--第二章习题解答.doc
  8. Android航海航线地图,航海王热血航线东南之海宝藏一览
  9. DELL台式机安装centos系统
  10. 3DMax、Unity、Threejs旋转转换
  11. 简易中控紫猫插件版(2)基本思路介绍
  12. 微信开发者工具协同使用
  13. 关于Cause: java.lang.ClassNotFoundException: Cannot find class: 0(提示找不到类)报错
  14. multisim中轻触开关在哪_proteus中这个开关在哪
  15. 大疆工程师:如何利用6年时间成为一名优秀的机器人工程师
  16. 蓝牙模块通信c语言,求一个蓝牙模块发送数据的例子
  17. RationalDMIS 7.1如何简单有效地创建工件程序?
  18. htc服务器更新系统,HTC U Ultra刷机教程 HTC U Ultra卡刷ruu升级更新官方系统
  19. FileCounter文件统计小工具
  20. 损失函数及特征提取网络

热门文章

  1. 《QQ游戏外挂制作教程》一文的补遗
  2. EXCEL地图可视化功能概览--小O地图EXCEL版0.6.3.0版
  3. ui设计师需要学习什么,初学者必了解
  4. AP微积分应该怎么学?
  5. 面向对象编程三大特征之一 继承
  6. 软件测试技术知识点汇总——软件测试的基本概念
  7. 学完这些,面试叫价15K!最完整、最系统的前端学习路线
  8. Big Debt Crises / Ray Dalio / 免费下载
  9. 双守护进程保护程序运行
  10. vivado无法连接赛灵思芯片