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

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

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

  1. 首先,我读取文件并将其转换为字节数组
  2. 然后我加密字节数组并将其写回文件

当我想运行加密文件时,我会做相反的事情,所以这样:

  1. 我读取加密文件并将其转换为字节数组
  2. 然后我解密字节数组并将其写回文件。

因此文件将转换回其原始格式。

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

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

在此先感谢,Onur

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

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

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

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

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

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

厄尼尔