0

我正在尝试使用加密/编解码器(例如 wxSQLite 或 Libtomcrypt 中的那个)编译 SQLite(启用 SQLITE_HAS_CODEC),以便结果构建将提供加密的 SQLite 数据库。

但是由于 Android 安全模型实现了一个安全沙盒策略,其中没有应用程序可以读取其他应用程序数据,因此生成的 SQLite(使用加密构建)是否可以透明地与所有应用程序一起使用并避免安全沙盒策略,或者您需要单独配置每个项目以便它可以将加密数据保存到 SQLite 吗?

我的意思是它会加密来自所有应用程序的数据以存储在 SQLite 数据库中,还是仅适用于需要配置的一个项目。

谢谢。

4

2 回答 2

1

我正在尝试使用加密/编解码器(例如 wxSQLite 或 Libtomcrypt 中的那个)编译 SQLite(启用 SQLITE_HAS_CODEC),以便结果构建将提供加密的 SQLite 数据库。

我建议您使用SQLCipher for Android,它已经为您完成了所有这些工作。

生成的 SQLite(使用加密构建)是否可以透明地与所有应用程序一起使用并避免安全沙箱策略

不。

您可以创建自己的 ROM 模块,用启用加密的模块替换标准 SQLite。但是,没有应用程序实际上会使用加密,因为它们不会要求用户输入密码并使用它。虽然您可以说您将使用硬连线密码,但您并没有添加任何安全性,因为任何人都可以获取该密码,然后使用它来解密数据库。

或者您需要单独配置每个项目,以便它可以将加密数据保存到 SQLite?

是的,更重要的是,每个项目都需要向用户询问密码。

于 2013-03-06T14:36:03.077 回答
0

您可以将数据库写入 SD 卡/外部存储,因此其他应用程序可以读取它,如果他们知道路径。或者你可以提供一个库来完成它。

于 2013-03-06T17:03:03.597 回答