【发布时间】:2012-07-29 21:50:55
【问题描述】:
我刚刚跑了
$ sha1sum myfile
无聊。
myfile 是我创建的一个空文件
$ touch myfile
我很惊讶 sha1sum 实际上返回了一个校验和。这些校验和不是应该从一些非空内容中计算出来的吗?空文件的校验和只是硬编码的“魔法”常量吗?
【问题讨论】:
-
任何散列函数都以一些定义明确的初始化状态开始,所以我不明白你有什么困扰......
我刚刚跑了
$ sha1sum myfile
无聊。
myfile 是我创建的一个空文件
$ touch myfile
我很惊讶 sha1sum 实际上返回了一个校验和。这些校验和不是应该从一些非空内容中计算出来的吗?空文件的校验和只是硬编码的“魔法”常量吗?
【问题讨论】:
空消息与带有字节数据的消息没有根本的不同。该算法在http://en.wikipedia.org/wiki/SHA-1#Examples_and_pseudocode 处进行了描述,零数据也可以。
例如。
预处理:
将位“1”附加到消息附加 0 ≤ k
【讨论】: