原文链接:http://wenku.bd.com/link?url=eJkWGNr1AXvloEpQ_VLPIXgoWccO6YXZ7oW4Cgt5txsja1uhiehBkKb5H9pvoktUYam_Qnw70u74XN6s1Z8878T27a3p03YpUR1rBahvTyC
一、为什么要加密?
Android 集成的 Sqlite 不支持加密,数据库文件中存储的信息很容易外泄
(Android 对文件设置有访问权限,正常情况某个程序的私有数据不容易外泄,但是
获得 root 权限后,可以访问改程序存储的手机中的文件)
二、如何实现加密?
1.获取 Sqlite3 源码:http://www.sqlite.org/
备注:
Sqlite3 free 版本同样不支持加密,但是提供加密接口供用户实现
Sqlite3 加密版本收费($2000)
2.定义加密宏 SQLITE_HAS_CODEC
3.实现加密接口 sqlite3_key,sqlite3_rekey ...
4.利用 NDK 将代码编译成 so 文件,供 Android 通过 JNI 调用