Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# File.ReadAllBytes在word文档和docx上工作吗?_C#_File_Encryption_Ms Word_Doc - Fatal编程技术网

C# File.ReadAllBytes在word文档和docx上工作吗?

C# File.ReadAllBytes在word文档和docx上工作吗?,c#,file,encryption,ms-word,doc,C#,File,Encryption,Ms Word,Doc,我需要加密word文件,为此,我不仅需要读取word文件的文本,因为它可能还包含图像,所以我需要以字节的形式获取word文档或Docx内容,然后对其进行加密,然后创建一个新的扩展名为DocSec的新文件,并将字节写入此文件 我的问题是:是否可以使用File.ReadAllBytes读取word doc\x的内容,以便它也考虑图像 如果没有,推荐的方法是什么?当然,您可以使用任何文件 所有类型的文件都是一个字节序列 一般准则 加密步骤是 打开文件(如果真的很大,考虑读取()而不是RealAlyBy

我需要加密word文件,为此,我不仅需要读取word文件的文本,因为它可能还包含图像,所以我需要以字节的形式获取word文档或Docx内容,然后对其进行加密,然后创建一个新的扩展名为DocSec的新文件,并将字节写入此文件

我的问题是:是否可以使用File.ReadAllBytes读取word doc\x的内容,以便它也考虑图像


如果没有,推荐的方法是什么?

当然,您可以使用任何文件

所有类型的文件都是一个字节序列

一般准则

加密步骤是

打开文件(如果真的很大,考虑读取()而不是RealAlyBySee())
  • 使用您喜欢的算法对读取的字节进行加密
  • 将新字节写入新文件(例如newdoc.docsec)
  • 关闭两个文件
  • 删除原始文件
  • 现在MS Word无法再读取您的文件

    解密

  • 打开您的脚本文件(例如newdoc.docsec)
  • 对读取的字节使用解密算法
  • 将新字节写入新文件(例如mydoc.doc)
  • 关闭两个文件
  • 删除newdoc.docsec文件
  • 现在你可以用微软Word打开它了


    CodeProject的完整示例

    很抱歉,但如果你不得不问这个问题,你不应该编写与安全相关的软件。一个文件,在你处理后,不能再用Word打开,这并不意味着你的软件是安全的。从字节流的角度来看,Word文件中的“文本字节”和“图像字节”没有区别。这里简单直接的答案是“是”。@CodeCaster“文件在处理后不能用Word打开并不意味着您的软件是安全的。”-当然不是,这就是为什么我还要加密文件内容的原因。@HenkHolterman你本可以把它作为一个答案,并得到一个V号。详细信息太少,不能得到一个好的答案。我通常不会使用任何基于
    字节[]
    的东西,而是使用文件流和加密流。谢谢你,我亲爱的朋友,不客气