Android-如何在内部/外部存储中隐藏文件?

雷克什

我想将video/audio/pdf文件隐藏在Android的内部/外部存储中。我们的要求是使文件仅在我们的Android应用程序中可见,而其他任何应用程序(例如Es File Explorer,将设备连接至)上均不可见Desktop/Laptop

我在Google上搜索了很多,发现了以下方法,但缺点很少。

创建带有前缀“。”的文件夹/文件。-它的缺点是我们不能阻止它在某些带有选项“ Show hidden files”的File Explorer应用程序中可见,并且我们不能阻止文件在连接到时显示Desktop/Laptop

将文件存储在App特定的文件夹中-large memory files在返回的路径中存储android.Content.Context.getFilesDir()会导致设备性能下降,并且大多数设备的内存容量都不会很大。

如何克服这些缺点并使我们的应用程序满足要求?

尼罗什·杜卡

您提出的第一个解决方案将无法使任何人访问文件,因此将无法使用。如果文件大小有限,第二种解决方案是完美的。在的情况下,large memory files它始终是更好地将它们存储在External storage但这将使其公开可用。为防止这种情况,您可以加密文件并将其存储在外部存储中。

这样做时的一些建议:

  1. 将文件名随机化,因此不容易猜测。
  2. 请参考此内容以进行简单的文件加密。
  3. 不要使用静态密钥进行加密,因为它可以进行反向工程。对每个文件使用不同的密钥。
  4. 不要将原始密钥存储在db / shared首选项中。而是存储它的哈希。
  5. 您甚至可以哈希键n times,然后将其存储在db中。这将使过程稍微慢一些,但由于必须知道n获取原始密钥的确切值,因此提供了更高的安全性
  6. 为了提高安全性,您甚至可以考虑使用Android的KeyStore派生IV。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Android:查看在内部存储中创建的文件

Android 应用程序:如何在内部存储中创建目录

如何在内部类Android中访问变量

无法找到保存的数据到内部存储中的文本文件,如何将文件保存在内部存储的android studio中?

使用Android Studio在内部存储中创建目录和文件夹

Mkdirs不会在内部存储中创建文件夹(Android)

Android Studio:使用EditText在内部存储中编辑.txt文件

获取用户选择的文件的名称和路径,而不管其在 Android 中的位置 [在内部或外部存储器中]?

Android:通过编程拍摄照片并将该图像以特定名称保存在内部/外部存储中吗?

安装Android应用程序后如何在内部存储器上创建目录?

如何在内部存储中重命名文件?

如何在Android中的文件选择器中添加内部和外部存储

如何在Android应用程序中创建隐藏文件夹?

如何以编程方式在android中打开隐藏文件?

阅读清单后android权限系统如何在内部工作

如何在内部使用Android 1 DataBase 2表

如何在android中隐藏文本文件?用户无法通过任何方式访问该文件吗?

如何在Android上将文件从内部应用存储移动/重命名到外部存储?

如何在Android SD卡中创建隐藏文件夹并将内容推送到其中

如何在Web CMS中隐藏文档字段,但在Android和iOS中不隐藏

如何从Android的内部和外部存储中获取所有.mp3文件

Android:在内部存储中保存两个具有相同名称的位图

在内部存储对象的JSONArray并在以后读取它们ANDROID

如何在 Android 10 (Android Q) 中访问外部存储?

如何在Android中默认读取/写入内部存储中的文件

当我在内部存储器中的android studio应用商店中运行应用时,移动后它也不会移动到SD卡

如何在Android设备上的内部存储中访问/读取/写入Documents文件夹?

如何在Android中打开内部存储的图片文件夹?

如何在Android中以编程方式将文件从内部存储器移动到sdcard?