Android 如何使我的数据库文件加密?
我正在开发一个Android应用程序,在资产文件夹中有一个静态数据库。我正在使用SQLiteAssetHelper类从数据库中检索数据。用户无法将任何内容写入此数据库Android 如何使我的数据库文件加密?,android,sqlite,apk,Android,Sqlite,Apk,我正在开发一个Android应用程序,在资产文件夹中有一个静态数据库。我正在使用SQLiteAssetHelper类从数据库中检索数据。用户无法将任何内容写入此数据库 我想使我的数据库文件加密,这样就没有人可以访问和获取数据从它。我怎样才能做到这一点呢?这有一个库,我过去用过。它被调用,并且具有Android的绑定(请参阅) 只是要注意如何存储解密密钥。理想情况下,您不会将密钥存储在应用程序apk中,但当用户第一次打开您的应用程序时,您可以从后端获取密钥。有一个用于此的库,我以前使用过它。它被调
我想使我的数据库文件加密,这样就没有人可以访问和获取数据从它。我怎样才能做到这一点呢?这有一个库,我过去用过。它被调用,并且具有Android的绑定(请参阅)
只是要注意如何存储解密密钥。理想情况下,您不会将密钥存储在应用程序apk中,但当用户第一次打开您的应用程序时,您可以从后端获取密钥。有一个用于此的库,我以前使用过它。它被调用,并且具有Android的绑定(请参阅)
只是要注意如何存储解密密钥。理想情况下,您不会将密钥存储在应用程序apk中,但当用户第一次打开您的应用程序时,您会从后端获取密钥。因此,为了澄清,您希望写入用户设备上的数据库,然后对其进行加密,以便拥有该设备的人无法访问或查看您存储在其中的任何数据:PI有一个带有静态数据和表的数据库。我在asset文件夹中插入DB文件,并使用SQLiteAssetPer检索数据。所以我必须对插入的DB文件进行加密。因此,如果有人使用apk反向工程无法打开该文件。朋友,有什么方法可以做到这一点吗?因此,请澄清一下,您希望写入用户设备上的数据库,然后对其进行加密,以便拥有该设备的人无法访问或查看您存储在其中的任何数据:PI有一个带有静态数据和表的数据库。我在asset文件夹中插入DB文件,并使用SQLiteAssetPer检索数据。所以我必须对插入的DB文件进行加密。因此,如果有人使用apk反向工程无法打开文件。朋友,有什么方法可以做到这一点吗?用户不能使用类似的东西并截取密钥吗?不管怎样,您将直接将解密密钥公开给您想要加密的同一个设备。我已经讨论了这个主题,这对SQLiteAssetThelper类有效吗?是否有任何扩展SQLiteAssetThelper的加密(SQLCipher)数据库?有什么解决方案吗?我在SQLiteAssetThelper的Github(和)上看到了两个问题,请求这样做,但是没有得到答复。SQLiteAssetHelper只是一个3类库。我只需复制这3个类,并将
android.database.sqlite.SQLiteDatabase
的实例替换为'net.sqlcipher.database.SQLiteDatabase'。您还应该提交一个具有此功能的请求,如果您要实现对它的支持,那么用户就不能使用类似的东西并截取密钥吗?不管怎样,您将直接将解密密钥公开给您想要加密的同一个设备。我已经讨论了这个主题,这对SQLiteAssetThelper类有效吗?是否有任何扩展SQLiteAssetThelper的加密(SQLCipher)数据库?有什么解决方案吗?我在SQLiteAssetThelper的Github(和)上看到了两个问题,请求这样做,但是没有得到答复。SQLiteAssetHelper只是一个3类库。我只需复制这3个类,并将android.database.sqlite.SQLiteDatabase
的实例替换为'net.sqlcipher.database.SQLiteDatabase'。如果您要实现对它的支持,那么您还应该提交一个具有此功能的请求