解密加密文件并在Java中执行

时间:2011-12-08 14:29:05

标签: java encryption

我目前正在开展一个可以加密和解密文件的项目。我正在用Java开发它。

这是它的工作原理(简化):

  1. 首先我读取文件并将其转换为字节数组
  2. 然后我加密字节数组并将其写回文件
  3. 当我想运行加密文件时,我会做相反的事情,所以这样:

    1. 我读取加密文件并将其转换为字节数组
    2. 然后我解密字节数组并将其写回文件。
    3. 因此文件将转换回原始格式。

      我的问题是,我不想将解密的字节数组作为文件写入磁盘。

      有办法做到这一点吗?我想直接在内存中运行解密的字节数组。 通过“运行”它,我的意思是执行它,因为它是一个Win32可执行的加密器。

      提前致谢, 厄尼尔

3 个答案:

答案 0 :(得分:1)

我会说你的选择在这里是有限的,因为你依赖于Windows启动过程。作为跨平台的Java,可能无法以您想要的方式挂钩Windows。

在纯Java的范围之外,您可以创建一个ramdisk并将EXE编写到Ramdisk,或者可能桥接到.NET,如this answer中所述(以及该答案中的问题链接)。 / p>

答案 1 :(得分:0)

也许Java NIO框架适合您。查看ByteBuffer和FileChannel

答案 2 :(得分:0)

我在c#中看到了这个例子,这正是我想要的,但是混合2种语言不适用于这个项目。

我听说过JNA库可以做一些win32原生的东西。也许我应该看看它。

谢谢大家的帮助,但我仍然希望有人会在这里发布我的解决方案。

厄尼尔