This article has been translated from English to Simplified 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

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

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

您可以亲自操作这个工具,看看

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

是不是很神奇? 🤓

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