首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何保护android数据库文件?

如何保护android数据库文件?
EN

Stack Overflow用户
提问于 2016-11-08 19:06:06
回答 3查看 3.6K关注 0票数 1

我有个问题。我使用的是xyz.db文件,该文件存储在资产文件夹中。我将所有数据从xyz.db复制到应用程序数据库,该数据库存储在存储文件夹中的data/ data /com.xyz/abc.sqlite中。现在我想保护资产的xyz.db文件。因为它可以通过逆向工程很容易地从apk中提取出来。请帮助我保护我的资产文件夹的数据库文件。

EN

回答 3

Stack Overflow用户

发布于 2016-11-08 19:12:58

您可以执行以下操作,使DB中的数据访问变得相对困难。

受密码保护的包含db的压缩文件,该文件在运行时应使用对称密钥extracted.

  • Encrypt
  1. ,然后在运行时再次解密。
  2. 利用对静态数据执行加密的sqlcipher

在上述两种情况下,您都需要考虑如何存储密码或密钥。没有确定的拍摄方法来保护文件,但以上将需要更多的努力,并应添加为基本保护。

票数 1
EN

Stack Overflow用户

发布于 2016-11-08 19:11:28

你的问题没有最终的解决方案。你将使用的任何技术都可以被一个意志坚定、技术高超的攻击者击败。

你必须接受这一点,如果你想在apk文件中存储数据库xyz.sql,然后你想让你的应用程序使用它,那么对你的应用程序进行反向操作的人也可以检索它。基本上只是因为在某个时刻的纯文本信息将在手机上可用。

希望我已经足够干净了

票数 0
EN

Stack Overflow用户

发布于 2016-11-08 19:17:56

牢记安全性

通常,在Android中,数据库文件的访问权限决定了谁可以使用您的数据库。如果您遵循本系列后续文章中介绍的标准方法,您的数据库文件将位于您的应用程序的私有目录中。这意味着您的应用程序拥有数据库文件,其他人无法访问它。即使使用其他不太常见的方法来创建数据库,也只能授予对文件的访问权限。因此,其他人可以访问您的所有数据库,也可以什么都不访问。没有中间立场。

Still:你永远不能指望数据库中的数据是安全的,不会被窥探。任何敏感数据都应该加密。非常敏感的数据根本不应该存储在设备上。请记住,如果设备丢失,任何发现设备行为不端的人都可以访问数据库文件以及您的应用程序。在带根目录的设备上,所有文件都可以读取。像SQLite编辑器这样的应用程序甚至可以轻松读取敏感数据-如果它们没有加密的话:

  • 在数据隐私非常重要的情况下,您必须恢复到受保护的服务,或者在分别加密和存储数据或读取和解密数据之前,每次都强制用户输入密码。source
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40485278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档