零字节文件如何生成哈希值?

Giz*_*eat 23 hashing sha1

当使用 sha1sum、sha256sum 等散列时,零字节文本文件如何生成散列?程序对哪些数据进行散列以生成散列值?

Linux 中的 QuickHash

终端命令

小智 24

无论是否有数据,哈希算法都会读取输入并对其进行处理。这是一种有效且需要的行为,甚至用于验证某个实现是否正确。这导致所有主要算法的“空哈希”。

总结一下:da39a3ee5e6b4b0d3255bfef95601890afd80709 是无处不在的空文件的 sha1-hash,其他算法的 null-hash 也是如此。

  • 散列算法有一个预先确定的初始条件——有点像一个数字,它们以一个数字开始,并在读取数据时发生变化。如果没有要读取的数据,则散列只是该预设初始条件的结果。 (3认同)

Den*_*nis 14

Quick Hash 中的所有哈希算法都是Merkle-Damgård 结构。因此,他们将消息填充为块大小的倍数。

Quick Hash 的算法通过附加1一点来实现这一点,0根据需要添加尽可能多的位,最后是消息长度。

这允许散列任意长度的消息,包括零长度消息。