当我用Md5散列文件什么是哈希?

Jay*_*oux 6 md5

它只是被散列的文件内容?有没有办法将文件名和/或元数据(如创建日期)包含在散列过程中?

Cha*_*ops 8

通常,所有文件缓冲区仅加密文件的二进制内容.

您可以通过以下过程证明这一点:

  1. 将md5算法应用于文件
  2. 将此文件复制到其他目录并更改其名称.
  3. 将md5算法应用于副本.
  4. 比较两个结果.他们是平等的!


hfs*_*hfs 5

MD5 工具通常会处理文件的二进制内容。但是您当然可以自由地将文件名和修改时间也放入散列的内容中。例如

(stat -c %Y filename; echo filename; cat filename) | md5sum
Run Code Online (Sandbox Code Playgroud)

当然,要验证散列总和,您必须使用完全相同的过程,否则您的散列总和会有所不同(例如,当使用不同的日期格式时)。