用Sqlcipher给现有的SQLite数据库加密

android项目资源文件的破译非常简单,出于安全的考虑,要对sqlite文件进行加密处理,用到了SQLCipher,他有收费版和开源版,这里选择开源版。
PS:网上的Sqlcipher版本大多是需要编译的版本,使用起来非常不方便,这里推荐一款windows下直接使用的版本,下载链接:
http://download.csdn.net/detail/cx118118/9676383

E:\sqlciper\bin>sqlcipher-shell64.exe info.db
SQLCipher version 3.8.0.2 2013-09-03 17:11:13
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .table
info

这里通过Sqlcipher打开info.db数据库可以正常打开,也能够查看数据。

加密这个数据库:

第一步,导出数据库内容到sql文件中
sqlite> .output my.sql  ##备份原始数据
sqlite> .dump
sqlite> .exit
第二步,创建带密码的加密数据库
E:\sqlciper\bin>sqlcipher-shell64.exe e_info.db
SQLCipher version 3.8.0.2 2013-09-03 17:11:13
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> PRAGMA key='xxxx';  ##设置密码
第三步,将sql文件导入到加密数据库中
sqlite> .read my.sql    ##导入原始数据

sqlite> .exit

此时,数据库e_info.db已经被加密,通过SQLite3无法打开,只有通过Sqlcipher输入密码方可打开。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值