This article has been translated from English to Traditional Chinese.

到目前为止,在之前的课程中,您已经了解了哈希算法是什么以及它的工作原理

但是,为了真正理解这些专业程序的作用,最好还是通过实际示例来学习!

See how hashing works!

让我们看看使用实际散列函数时散列过程是如何工作的。

由于SHA-256是比特币选择的哈希函数,因此我们以它为例。

这是我们的第一个示例输入:

BabyPips.com 酷毙了。

当通过SHA-256散列函数处理时,这句话会产生以下散列值,也称为“摘要”或简称为“散列”:

A58E12FAC905B8F84EA2F64F888191A4B66A67CC45F8E7B7B0F94C37A134CB57

您可以看到摘要由字母和数字组合而成。长度恰好为64个字符。

除此之外,通过观察摘要,你并不能从中获得更多信息。输入的内容没有任何规律或线索。它看起来就像是一堆乱码。

输出看起来似乎是随机的。但是,仅凭输出无法猜出输入。

如果再次通过SHA-256散列函数对输入进行运算,将得到完全相同的输出(“散列”)。

相同的输入将始终产生相同的输出。

现在,让我们对第一个示例的输入进行细微的修改,看看会发生什么:

BabyPips.com 酷毙了。

请注意,“ice”一词的开头添加了字母“l”,拼成了“lice”。

以下是新的摘要:

B8784EAEB1FC50719B2041FB1AEE30FF91516529CCB65B4B446CC4D5F6B4EB95

现在让我们对比一下:

输入 摘要
BabyPips.com 酷毙了。 A58E12FAC905B8F84EA2F64F888191A4B66A67CC45F8E7B7B0F94C37A134CB57
BabyPips.com 酷毙了。 B8784EAEB1FC50719B2041FB1AEE30FF91516529CCB65B4B446CC4D5F6B4EB95

您会发现,这与第一个摘要的结果截然不同!

尽管输入的内容几乎完全相同,但仅改变一个字符就会产生完全不同的输出

Lice is so cool

虱子非常恶心,让我们再对输入进行一个更改:

BabyPips.com 酷毙了。

现在让我们看看会发生什么:

FCA7032BE8CF7F3C0DD75B8DEB77412E452EA5E2275BAA4125123CD639ED2C9A

再一次输入完全不同的内容!

现在让我们对比一下这三款:

输入 摘要
BabyPips.com 酷毙了。 A58E12FAC905B8F84EA2F64F888191A4B66A67CC45F8E7B7B0F94C37A134CB57
BabyPips.com 酷毙了。 B8784EAEB1FC50719B2041FB1AEE30FF91516529CCB65B4B446CC4D5F6B4EB95
BabyPips.com 酷毙了。 FCA7032BE8CF7F3C0DD75B8DEB77412E452EA5E2275BAA4125123CD639ED2C9A

值得强调的是,任何输入都可以放入哈希函数中。

无论输入的长度如何, 输出总是固定长度,并且总是看起来完全随机

您可以亲自操作这个工具来体验一下:

试着对输入的内容稍作修改,看看散列结果会有多么大的不同。

是不是很神奇? 🤓

恭喜!您已经创建了自己的散列!👏