sqlcipher.exe,sqlcipher python
最近在做省市级数据库的时候,想直接把别人包里的db拿出来,不知道全部打不开,就想如果他们有加密的话。
我在网上见过很多数据库加密的方法,但是直接用最方便。你不需要自己做任何事情。我推荐SQLCipher。
SQLCipher使用起来非常简单。github上的地址是https://github.com/sqlcipher/android-database-sqlcipher.如果有兴趣可以直接编译最新版本的so库和jar。我在这里直接用这个地址下载了安卓版https://s3.amazonaws.com/sqlcipher/SQLCipher v 2 . 2 . 2 . zip
自己搭建一个项目,复制压缩包里的相关内容,看看目录结构,缺一不可。
然后我们来看看github中演示的代码,就两个类。
EventDataSQLHelper.java
这是一个直接继承自SQLiteOpenHelper的类,SQLiteOpenHelper是android原生的。只是sqlcipher,但是用起来都一样,比如onCreate onUpgrade。
重点来了。让我们看看存储和检索文件的类SQLDemoActivity.java。
第一,SQLiteDatabase.loadLibs(这个);这是为了调用底层jni,为后续的加密方法调用做铺垫。
下面是对象SQLite数据库DB=eventsdata。GetWriteTableDatabase(密码),用于构建数据库。因为要用addEvent方法写。
写完后关闭数据库,然后开始读取eventsdata.getreadabledatabase(密码);
这里还有一个问题,就是不知道为什么要关闭这个SQLiteDatabase对象。好像我把这句话去掉也没关系。
做好之后测试,用rootExplorer检查,成功了。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。