编译Android SQLite与不同的加密/编解码器



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

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

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

谢谢。

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

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

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

您可以创建自己的ROM mod,用启用加密的ROM mod替换标准SQLite。然而,没有应用程序会真正使用加密,因为它们不会要求用户提供密码短语并使用它。虽然您可以说您将使用硬连接的密码短语,但您没有增加安全性,因为任何人都可以获取该密码短语,然后使用它来解密数据库。

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

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

你可以把你的数据库写到sd卡/外部存储,这样其他应用程序可以读取它,如果他们知道路径。或者您可以提供一个库来完成它。

相关内容

最新更新