保护本地 SQLite 数据库(Android 应用程序)

Sea*_*ean 6 sqlite security android xamarin.android

我们有一个 Android 应用程序,它将其数据存储在本地 SQLite 数据库中;主要是为了性能,但也为了允许离线工作(因为我们经常处于信号弱的区域)。

目前,数据以加密格式存储(从我们的网络服务器传递下来),但这本身会导致性能问题,例如,如果我们想要搜索特定“姓氏”的记录,我们需要解密所有数据,而不是使用直接的 SQL 查询,包括where surname='Smith'

我们无法(就目前而言)以更友好的“开放格式”存储数据,因为可以“root”设备、获取 MySQL 数据库的副本、打开它并读取数据。

有没有办法(也许有人可以提供一个例子)来密码保护本地 SQLite 数据库或以某种方式应用加密,以便我们可以(从应用程序的角度)以开放格式提供数据库,但如果有的话-黑客掌握了设备并对其进行了root...他们将很难读取我们的数据?

我已经搜索了合适的解决方案,但找不到 SQLite 数据库的任何选项、任何第三方软件或任何执行此操作的代码示例。

Abh*_*hek 1

SqlCipher,这可能适用于您的情况