哪里可以安全地将大数据放入android中

时间:2011-08-15 09:37:30

标签: android internal

我必须存储大量必须从Web服务器下载的图像。图像的大小可能是80Mb。因此,无论是在内部还是外部存储,我都需要指导存储它们的位置。两者都给我带来了一些问题。每个人都知道内部存储是非常有限的,但外部存储的问题是用户可以访问图像。我不希望我的应用程序图像暴露给用户并更改或删除。那么有没有替代方案或者是否有任何技术可以安全地将数据放入外部存储器?

5 个答案:

答案 0 :(得分:2)

不幸的是,外部存储器有FAT文件系统,不支持访问限制。而且你根本不能将这么大的数据存储在内部存储器中(否则用户不会喜欢你,温和地说)。

所以唯一的方法就是使用外部存储。如果您需要一些保护,那么您可以加密/解密数据。或者只是混淆数据,例如更改文件扩展名,或在每个文件的开头添加10个字节。混淆在资源方面更有效,但受保护的程度要低得多。尽管仍然可以从您的应用程序中提取加密密钥,因此这两种方法都有自己的流程。

答案 1 :(得分:1)

我建议将它们存储在外部存储器中。如果您不希望用户能够阅读它,请使用加密保护它。我认为将大数据强加给用户是个坏主意。如果用户想要删除它,您不应该想要阻止它。如果图片被删除,也许可以考虑从网上重新下载图片的可能性。

答案 2 :(得分:1)

对文件内容使用加密:

我在http://www.androidsnippets.com/encryptdecrypt-strings

上找到了漂亮而轻量级的示例代码

答案 3 :(得分:0)

我建议保存到外部。建议不要阻止用户删除他的数据。用户也可以格式化SD卡以将其删除。所以你无法阻止用户。你可以把它藏起来。只需在文件夹名称前加一个点即可隐藏它。

答案 4 :(得分:0)

如果您使用的是Android 2.3,则可以选择OBB。

http://developer.android.com/reference/android/os/storage/StorageManager.html

  

OBB包含一个文件系统,可以在磁盘上加密并从应用程序按需安装。 OBB是提供大量二进制资产的好方法,无需将它们打包到APK中,因为它们的大小可能是几千兆字节。但是,由于它们的大小,它们很可能存储在可从所有程序访问的共享存储池中。系统不保证OBB文件本身的安全性:如果任何程序修改OBB,则无法保证从该OBB读取将产生预期的输出。

相关 What is OBB(Opaque Binary Blob) in Android develop site?