Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使我的数据库文件加密?_Android_Sqlite_Apk - Fatal编程技术网

Android 如何使我的数据库文件加密?

Android 如何使我的数据库文件加密?,android,sqlite,apk,Android,Sqlite,Apk,我正在开发一个Android应用程序,在资产文件夹中有一个静态数据库。我正在使用SQLiteAssetHelper类从数据库中检索数据。用户无法将任何内容写入此数据库 我想使我的数据库文件加密,这样就没有人可以访问和获取数据从它。我怎样才能做到这一点呢?这有一个库,我过去用过。它被调用,并且具有Android的绑定(请参阅) 只是要注意如何存储解密密钥。理想情况下,您不会将密钥存储在应用程序apk中,但当用户第一次打开您的应用程序时,您可以从后端获取密钥。有一个用于此的库,我以前使用过它。它被调

我正在开发一个Android应用程序,在资产文件夹中有一个静态数据库。我正在使用SQLiteAssetHelper类从数据库中检索数据。用户无法将任何内容写入此数据库


我想使我的数据库文件加密,这样就没有人可以访问和获取数据从它。我怎样才能做到这一点呢?

这有一个库,我过去用过。它被调用,并且具有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'。如果您要实现对它的支持,那么您还应该提交一个具有此功能的请求