android - Android 的 Sqlite 加密

标签 android api sqlite encryption android-ndk

我有一个已经使用 SQLite 开发的 Android 应用程序。 数据库非常大(超过 100 兆),因此它只能部署在 SD 卡上。 数据库中的数据是敏感的,因此我们需要加密数据库。 手机上的默认 SQLite 二进制文件不允许加密或添加插件(扩展)。 我设法使用带有加密扩展的 NDK 编译 SQLite(我称此 SQLiteS - 来自安全)但我仍然需要弄清楚如何复制 Sqlite API 并将其绑定(bind)到新的 SQLiteS 二进制文件。 这个想法是不使用 SQLite 默认 API 更改已经开发的代码,除了包名称。 知道如何实现吗?

最佳答案

尝试将 native jdbcsqlite 驱动程序安装到 Android 上。 这使得 sqlite3_* 调用(JNI)。

使用 aapt 工具将库(sqliteS)链接到 .apk 文件中。

此外,您可以更改 sqlite3_* 名称(在您构建的 SQLiteS.so 中),这样它就不会引用 android 提供的 sqlite.so 文件。

让我知道解决方案。

关于android - Android 的 Sqlite 加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4164051/

相关文章:

Android异步Http客户端升级

php - 雅虎本地搜索 API 根本不工作

unit-testing - 使用 MbUnit3 的 [Rollback] 进行单元测试 NHibernate 与 SQLite 的交互

php - 单个 SQL 查询中的百分比

android - 如何在android应用程序中播放unity 3d场景

java - 旋转移动 Sprite

android - 在 Android 中发送一条未知字符替换为 "replacement character"的短信 (UTF-16)

java - 如何在JAVA中读取USB串口?

api - 如何通过通过Google Apps脚本公开的API更新YouTube视频片段描述的HTML?

sql - 如何使用 scala slick 3 发送纯 SQL 查询(并检索结果)