【问题标题】:How to encrypt and decrypt a folder?如何加密和解密文件夹?
【发布时间】:2018-03-24 12:21:29
【问题描述】:

我有一个名为 docFolder 的文件夹,位于设备间隔内存的 下载目录 内。该文件夹包含许多不同格式的文件(html、png、jpg 等...)。

如何轻松以编程方式加密 docFolder,使用户无法打开该文件夹。我还需要以编程方式解密 docFolder,以便可以在我的代码中使用这些文件。

请帮忙。

【问题讨论】:

标签: android encryption directory


【解决方案1】:

之前已经为您的用例做过研究,我可以帮助您了解我的结果和发现。

您可以使用对称算法进行加密和解密。这些对称加密算法相对来说速度更快,并且消耗的计算资源更少。

您可以阅读对称密码系统here

您会发现每种算法都有很多 Java 代码。

您需要确保用于对称加密的密钥未存储在本地,因为用户可以反编译 APK 并访问代码。为此,您可以从 Firebase 等公共云数据库服务中检索每个用户的密钥。

所以不用加密文件夹,您可以加密您的重要文档并将它们存储在应用程序的专用路径中。

一般情况下,其他常规应用无法访问您应用的专用路径。 Android 不允许这样做。但是用户可以使用任何文件浏览器浏览它们。

阅读 Android here 中的数据和文件存储,并为您的用例选择最合适的方法。

希望这有帮助。

【讨论】:

【解决方案2】:

不能加密文件夹,但您可以加密文件

看看

http://www.codejava.net/coding/file-encryption-and-decryption-simple-example

请记住,加密和解密会带来电池使用和时间的成本(取决于您的文件大小,您甚至可能会滞后于应用程序)。

您应该只加密非常重要的敏感数据

如果您不希望用户直接访问您的文件,可以将它们存储在 sqlite

【讨论】:

  • 非常感谢您的回答,但管理我的要求的最佳方法是永远不要让用户打开文件夹中的文件,而只能以编程方式打开和读取文件?
猜你喜欢
  • 2021-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多