当我使用Md5对文件进行哈希时,究竟被哈希的是什么?

7

只有文件内容被哈希了吗?是否有办法将文件名和/或元数据(例如创建日期)包含在哈希处理过程中?

2个回答

9

一般来说,所有的文件哈希算法只加密文件的二进制内容。

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

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

1
是的,它们两个是一样的。 - Kasun Siyambalapitiya

6

MD5工具通常使用文件的二进制内容。但是,您当然可以将文件名和修改时间放入要进行哈希处理的内容中。例如:

(stat -c %Y filename; echo filename; cat filename) | md5sum

当然,要验证哈希值,您必须使用完全相同的过程,否则您的哈希值将不同(例如,在使用不同日期格式时)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接