如何在android中加密发布的数据库?

How to encrypt shipped database in android?

球队,

我有一个带有大型SQLite数据库的Android应用程序这个数据花了我很多钱,我不想让任何人轻易拥有它。
这个数据库以databse.sqlite文件的形式出现在我身上,然后我发送到了APK资产。

无论如何在发货之前加密这个数据库然后在读取数据时解密?

P.S我搜索了很多,我的所有结果都指向我使用sqlcipher但这个lib不适用于运送的SQLite数据库文件。


问题是您需要将密钥(或密钥的位置)存储在代码中的某个位置,并且解密应用程序不需要花费太多精力。 不幸的是,您无法真正阻止任何人访问数据。 你只能让它变得更难,但对于那些真正坚定的人来说,这仍然很容易。

最好的解决方案是将数据库存储在服务器上,并仅将用户实际需要的数据发送到设备。 这样,您至少可以控制设备请求的数据。