SQLCipher使用方法

最近,在搞省市数据库的时候,想从别人的包里面直接把db弄出来,哪知道一个个都是打不开的,遂想到他们是不是搞了加密。

在网上看到了很多数据库加密的方法,但是还是直接拿来主义最方便,什么都不需要自己做,我推荐SQLCipher。

SQLCipher使用起来很简单,github上面的地址是https://github.com/sqlcipher/android-database-sqlcipher,如果你有兴趣,可以直接自己编译出最新版本的so库以及jar,我这边直接用了这个地址下载https://s3.amazonaws.com/sqlcipher/SQLCipher+for+Android+v2.2.2.zip

自己建一个项目,把压缩包中相关内容复制进去,看下目录结构,缺一不可


然后我们来看下github里面的demo中的代码,就2个类而已

EventDataSQLHelper.java


这个就是直接继承于类似android原生的SQLiteOpenHelper的类,只不过是sqlcipher的而已,但是用起来都是一样的,都是onCreate onUpgrade之类的


重点来了,我们看存文件跟取文件的类 SQLDemoActivity.java



首先要SQLiteDatabase.loadLibs(this);这个是调用底层jni,为后续加密方法调用铺路。

这边是用密码构建写数据库的对象SQLiteDatabase db = eventsData.getWritableDatabase(password);因为马上就开始用addEvent方法写了嘛

写完之后关闭数据库,随即开始读了eventsData.getReadableDatabase(password);

这边还有一个问题,就是不知道从为什么要关闭这个SQLiteDatabase对象,我把这句话去掉好像也没什么影响

搞完之后测试一下,用rootExplorer看下,成功了



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值