0

在我的项目中,我使用的是自定义 android 设备,为了安全起见,我必须加密我 sdcard 上的所有文件。我使用的是 AES-128 位加密,但解密和打开文件需要很长时间。

对于我使用CipherInputStreamCipherOutputStream和代理服务器进行动态解密的视频。这对大pdf文件可行吗?

一个 12 MB 的 pdf 文件大约需要 40 秒才能解密,因此在完全解密后打开文件不是一个选项。另外,我不想将解密的文件保存在设备上的任何位置。是否可以像打开视频一样打开部分 pdf 文件?

我尝试在 android 中使用全盘加密,但它在我的自定义设备上不起作用并且只显示一个绿色机器人,之后什么也没有发生。

提前致谢。

4

2 回答 2

2

如果您刚刚加密了整个文件,而您的查看器应用程序/库希望获得整个文件,那不是真的。如果您使用 PDF 加密,即加密文件中的每个对象,您可以按需解密并显示它们。

你到底想在这里实现什么?这些文件是您应用程序的一部分吗?如果您只是想保护 SD 卡上的数据,有一些方法可以自动执行此操作,但它们需要有根设备。例如LUKS 经理

于 2012-06-21T08:26:05.990 回答
0

早些时候我在模拟器上进行测试。在实际设备上,解密所需的时间要少得多(12 MB 约为 6 秒)并且可以接受。最后我做了以下事情:-

对于视频和音频,我使用流式传输到 mxPlayer。对于无法部分显示的大文件,我只加密了部分文件。加密大约 10MB 的文件使其无法使用。

这些文件被保存到某个隐藏的临时位置,一旦不再需要,该位置就会被删除。

设备上仍然需要适当的应用程序,以便 Android 可以检测到它们并在需要时打开它们。就像某些视频播放器在从我的应用程序打开视频时无法正常工作,但 mxPlayer 可以。

于 2012-06-25T14:54:54.953 回答