Java 你能把文件中的字节流到任何程序中吗?
所以我有这个想法,但我不知道这是否可能 以下是想法: 例如,我将使用.doc文件和word。我想加密这个 .doc文件转换为.encrypt文件。然后在我的程序中解密文件并强制word加载文件对象 或者我需要解密文件,将其写入HDD,然后打开/编辑文件并保存,然后再次加密 还是有其他我没有想到的方法Java 你能把文件中的字节流到任何程序中吗?,java,file,encryption,Java,File,Encryption,所以我有这个想法,但我不知道这是否可能 以下是想法: 例如,我将使用.doc文件和word。我想加密这个 .doc文件转换为.encrypt文件。然后在我的程序中解密文件并强制word加载文件对象 或者我需要解密文件,将其写入HDD,然后打开/编辑文件并保存,然后再次加密 还是有其他我没有想到的方法 希望你们中的一些人能帮上忙:)你们可以,但要实现这一目标还有一些工作要做。Microsoft对象链接和嵌入(OLE)和通用对象模型(COM)提供了您所需的一切。顺便说一句,它不会移植到任何其他体系结
希望你们中的一些人能帮上忙:)你们可以,但要实现这一目标还有一些工作要做。Microsoft对象链接和嵌入(OLE)和通用对象模型(COM)提供了您所需的一切。顺便说一句,它不会移植到任何其他体系结构,但您可以在Windows上构建它。用代码示例进行详细解释对于SO答案来说太大了,所以我只给出一些提示 这里您需要的是构建一个COM客户机,该客户机将能够支持作为COM服务器的Word对象。您的客户机应该能够通过自定义名字对象提供加密存储。它应该可以工作,因为这或多或少是您可以在Excel工作表中包含Word对象的方式 如果您在COM编程方面没有或几乎没有经验,请不要直接尝试。如果您不了解Microsoft高级模板库,请不要尝试这两种方法。IMHO的要求是:
- MSCV环境及其完整文档
- COM客户端和服务器示例-如果尚未构建,请遵循MSVC文档中的教程
- 嵌入对象的持久性示例-idem后续教程
但不要指望这比通过Word处理文件并在完成后再次加密要安全得多。好的,它将不受脚本kiddies寻找.doc或.docx文件的影响,但一旦文档加载到Word for edition中,Word程序就可以被一段邪恶的代码操纵(通过自动化或直接发送键盘消息)。从安全角度或角度来看,如果您的计算机中存在您无法信任的内容,则它将不再(仅)属于您。解密、存储到光盘、exec word,路径指向该文件。当将其加载到应用程序中时,它仍然易受攻击,特别是当程序创建自动备份/更改控件或数据被交换到磁盘时。@AlexK:大多数应用程序都需要,但Microsoft的应用程序不需要:您可以在excel文档中嵌入word文档,两者都有一个单独的存储,每个都由其适当的应用程序处理。大多数应用程序都无法接受字节流。您必须解密字节,将它们写入文件系统,然后让Word打开该文件。不管你做什么,它在某个时候仍然是未加密的,因为你无法控制其他程序如何处理文件/字节。听起来有点像@ManoDestra:COM-OLE,它不允许将对象存储在自己的文件中,而是允许其容器为其持久性提供名字对象。这可能是一个X-Y问题,但它有一个直接的解决方案。感谢这些细节,我将研究它!有一个问题,对我来说,这似乎只适用于microsoft程序?我正在寻找的唯一解决方案是确保文件在解密时尽可能安全。其中一个步骤是不将它们存储在硬盘上。