File.ReadAllBytes 是否适用于 word doc 和 docx?

Does File.ReadAllBytes work on word doc and docx?

我需要加密一个 word 文件,为此我需要不只是读取 word 文件的文本,因为它可能还包含图像,所以我需要获取 Word Doc 或 Docx 内容作为字节然后加密它们然后创建一个带有新扩展名的新文件 DocSec 并将字节写入该文件。

我的问题是:是否可以用 File.ReadAllBytes 读取单词 doc\x 的内容,这样它也会考虑图像?

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

当然你可以使用任何文件。

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

一般准则

加密步骤为

  1. 打开文件(如果真的很大请考虑 read() 而不是 readAllBytes())
  2. 使用您最喜欢的算法来加密读取的字节。
  3. 将新字节写入新文件(例如 newdoc.docsec)。
  4. 关闭两个文件。
  5. 删除原文件。

现在 MS Word 无法再读取您的文件。

解密

  1. 打开您的脚本文件(例如 newdoc.docsec)
  2. 对读取的字节使用您的解密算法。
  3. 将新字节写入新文件(例如 mydoc.doc)。
  4. 关闭两个文件。
  5. 删除 newdoc.docsec 个文件。

现在可以用MS Word打开了。

CodeProject 上的完整示例 File Encryption and Decryption in C#