gpt4 book ai didi

java - 为 Android 应用程序加密文件夹?

转载 作者:太空宇宙 更新时间:2023-11-03 11:20:18 25 4
gpt4 key购买 nike

我正在使用的应用程序从 sdcard 获取所有文件,但这些文件非常重要,应用程序应该维护安全问题。那么有没有一种方法可以加密或锁定包含该文件的文件夹或目录使用 key 并且只能由我的应用程序使用?请帮助我,我是新手,卡在了这一点上。

最佳答案

在 Android 上,存储在 SD 卡上的任何内容都不受权限保护,任何有权访问 SD 卡的应用程序都可以访问(以及可以将卡拔出并在其他地方读取的任何人/任何人)。基本上,您需要假设如果将资源放在那里,任何人都可以访问它们。所以,你是对的,你想加密这些资源,这样即使有这种访问权限,也没有人可以访问它们。

Android 包含对众所周知的密码学的大量支持。在这种情况下,您需要使用对称加密。目前这里的最佳实践是使用带有 256 位 key 的 AES,所有这些都在 Android 类库中得到原生支持。在在线开发人员文档中有大量关于如何执行此操作的资源,并且在 Application Security for the Android Platform 中完整列出了您需要考虑的所有问题以及整个过程的代码示例。 (免责声明:我是本书的作者)。

您确实需要一个 key 来加密此数据,并且您需要对该 key 保密(任何知道它的人都可以解密数据)。您有两个选择...(1) 每次用户使用应用程序时都要求用户输入密码,然后从该密码中导出 key ,或者 (2) 将密码存储在您的应用程序中。 (2) 很危险,因为 Android 应用程序很容易被逆向工程,攻击者可以简单地查看您的应用程序并找到 key 。 (1) 是首选,因为没有存储 key 供攻击者恢复...权衡是您的用户需要输入密码才能使用您的应用程序。你在这里应该做的是风险分析的功能......这个数据有多重要?您需要以强有力的方式保护它,还是保护它只是为了让攻击者更难做事?根据您的用例和数据的敏感性/风险,只有您可以回答这个问题。

关于java - 为 Android 应用程序加密文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9499553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com