【问题标题】:Android Security : how to protect the local files/db in my application and access to it with no problem?Android 安全:如何保护我的应用程序中的本地文件/数据库并毫无问题地访问它?
【发布时间】:2023-04-08 18:06:02
【问题描述】:

我有一个应用程序可以在本地复制一些文件(db、images、pdf、texte 文件),并且需要访问这些文件才能使应用程序正常工作。 - 对 bdd 的查询
- 需要显示的 pdf 和图像等文件
- 应用需要读取的文本文件

我的问题是如何保护所有这些文件不被用户访问?这是明智的信息,我不希望所有用户都可以轻松访问它?

我看过所有的票:ticket1ticket2ticket3,但我不确定这是不是好方法?

有什么建议吗?

【问题讨论】:

标签: java android security sqlcipher android-security


【解决方案1】:

Android 为您提供了 3 种类型的私有存储,仅供您的应用访问。

  1. 使用 Room 持久性库将结构化数据存储在私有数据库中的数据库。
  2. SharedPreferences 将数据存储为键值对
  3. 最后在您的情况下 内部存储 用于存储自定义类型的数据,尤其是文件和媒体。

在私有存储上写入:

新建一个File 并在上面写:

File file = new File(getApplicationContext().getFilesDir(),"MyPrivateFile.txt");

【讨论】:

  • 私有存储是app-private,与外部存储相反。
  • 即使你需要外部存储的权限来写入文件,它仍然是一个私有存储,请查看official documentation和这个答案here
  • AFAIK 可以通过 PC 上的 MTP 或通过 adb 完全访问外部存储。因此它不受任何保护,尤其是当 OP 询问如何protect all that files from the users 时。将此类文件保存在外部存储中正好相反,这是making access for the user as easy as possible
  • @Robert 正如他所说,他想保护他的数据免受用户的侵害,但如果他想增加另一层安全性,他可以在将文件写入磁盘之前对其进行加密
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-24
  • 1970-01-01
  • 1970-01-01
  • 2015-11-11
  • 2023-01-29
  • 1970-01-01
相关资源
最近更新 更多