java - 如何保护android中的sqlite db不被盗

标签 java android sqlite encryption

我正在制作一个 28MB 大小的 sql-lite 文件的应用程序,该文件最初位于 android 的 Assets 文件夹中。当它安装在用户中时,它会复制到系统文件夹。因为这个数据库对我来说最重要。如果任何人都能得到这个文件,那么他就可以窃取我的信息。

当您解压缩 APK 文件时,您将轻松获得 sql-lite 文件。有什么方法可以保护它、隐藏它或对其进行加密,这样程序员或黑客就无法通过提取 APK 文件轻松获取数据库。

最佳答案

您无法完全保护您的 SQLlite 数据库,因为有人可以对您的代码进行逆向工程并读取您的保护机制的内容。

您可以选择其他路径:

1) 使数据库在线,即不要将其与您的应用放在一起,让您的产品联系您的数据库并查询它

2) 加密 SQL Lite 中的数据,并在您的代码中即时解密 - 这将使只是窃取您的 SQL Lite 变得更加困难,它并不完美,但它是聊胜于无

关于java - 如何保护android中的sqlite db不被盗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20842060/

相关文章:

java - JWT token 到期时间在生成的 token 中被修剪

java - DispatcherServlet 中的 PageNotFound : No mapping found for HTTP request with URI [. ./j_spring_security_check]

android - 一个 View 中有 2 个列表的 Recyclerview?

Android SQLite 导致崩溃

java - 图形绘制到窗口后的 "secret"是什么?

java - 没有画廊的android coverflow

android - 广播接收器 - 监控电池电量和充电状态

Android:播放音频时收到通知

mysql - 原生 XML 数据库与 SQLite/MySQL

java - Android SQLite COLLATE NOCASE 语法错误