我目前正在开展一个可以加密和解密文件的项目。我正在用Java开发它。
这是它的工作原理(简化):
当我想运行加密文件时,我会做相反的事情,所以这样:
因此文件将转换回原始格式。
我的问题是,我不想将解密的字节数组作为文件写入磁盘。
有办法做到这一点吗?我想直接在内存中运行解密的字节数组。 通过“运行”它,我的意思是执行它,因为它是一个Win32可执行的加密器。
提前致谢, 厄尼尔
答案 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原生的东西。也许我应该看看它。
谢谢大家的帮助,但我仍然希望有人会在这里发布我的解决方案。
厄尼尔