Ubuntu下使用SQLCipher命令行对db加密


1. Ubuntu配置gcc环境
(1)   安装gcc:
sudo apt-get  install  build-essential
                   安装完成后可通过输入gcc --version查看版本号,输入which gcc查看位置。
  (2)在profile里添加环境变量
sudo gedit /etc/profile
            在最后一行添加上  PATH=$PATH:~/usr/bin/
       (3) 安装openssl加密库(否则执行./configure时会报错 “OpenSSL Crypto library not found”)
sudo apt-get install openssl 
sudo apt-get install libssl-dev


2.下载SQLCipher源码的zip包(https://github.com/sqlcipher/sqlcipher),在linux系统下编译运行
       (1).解压
unzip -q sqlcipher-master.zip
cd sqlcipher-master

(2)编译
./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" LDFLAGS="-lcrypto"
make

      编译完会出现一个sqlcipher的可执行文件.
        3.安装sqlite3
sudo apt-get install sqlite sqlite3
sudo apt-get install sqlitebrowser #安装可视化工具
安装完(在当前目录)可通过输入sqlite -version ,查看 sqlite 的版本,输入sqlite3 -version ,查看 sqlite3 的版本;
另外要对安装的目录设置权限,否则可能出现cannot open databases错误,设置命令如下:
cd .. #回到上层目录
chmod 777 -R curdir #对目录设置权限,curdir是要设置权限的目录名

4.使用SQLCipher创建db并对其加密,在当前目录下得到加密后的数据库sherry2.db:

   ./sqlcipher sherry2.db #创建一个db文件  
sqlite> PRAGMA key = 'test';  #设置密码  
sqlite> create table mytable(id,name,age);  #创建数据表
 sqlite> insert into mytable(id,name,age) values(1,"张三","21");  #插入一条数据
sqlite> .exit;  #退出

        5.用sqlite3同样创建一个数据库sherry1.db(未加密)
         sqlite3  sherry2.db   #创建一个db文件  
sqlite>  PRAGMA key = 'test';  #设置密码  
sqlite> create table mytable(id,name,age);  #创建数据表
  sqlite> insert into mytable(id,name,age) values(1,"张三","21");  #插入一条数据
sqlite> insert into mytable(id,name,age) values(2,"李四","23");  #插入一条数据
sqlite> .exit;  #退出
    sqlitebrowser sherry2.db  #用可视化工具查看创建的数据库(步骤3已进行安装)

6.对加密及未加密的两个db作对比(在手机上用Root Explorer查看):
   

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值