众所周知,内部存储不是在Android中存储大数据的正确位置,原因很多,这就是我们应该依赖SD卡的原因。我的应用程序需要在缓存文件夹中存储大量小视频和图像,因此我使用标准的“/ sdcard / Android / cache”目录。
问题在于内部存储并不容易读取SD卡而是易于阅读和安装在其他地方。
我的想法是覆盖输入和输出文件流类以引入xor运算符或其他一些简单的“加扰”代码。这是个好主意吗?有没有更好的解决方案,不会增加很多开销?
答案 0 :(得分:3)
您可以随时尝试加密数据。这里有一个很好的回答你可能想看一下:
Is there a way to securely store user data on an Android device?
答案 1 :(得分:2)
如果你有很多图像你必须有一个数据库后端,你只需要为每个图像创建一个,不知道,32个字符键然后当你在缓存中写入文件时将该键分成4个/ 6/8并写入4/6/8文件而不是一个。
通过这种方式,读取数据并不容易,因为你必须知道存储在内部目录上的数据块中的块和块顺序是什么。
根本没有开销。
答案 2 :(得分:0)
由于文件系统很可能是胖或胖32保护它的权限基础方式会更复杂。
如果你要存储平面文本文件,我建议找一个复杂的算法来编码和解码以及几个“通道”。然而,它不会太安全。
如果您可以更改或转换文件系统,则可以打开一些选项。你可以使用ms的efs。但是,如果将卷转换为ntfs,则可行。我确定android无法读取该文件系统。特别是对于efs。
答案 3 :(得分:0)
我建议您加密数据,并将密钥存储在私有存储中。
不要使用xor或类似的半生不熟的东西。这将是一个简单的解密。