区块链哈希函数

2024 年 11 月 12 日 | 2 分钟阅读

哈希函数将任意长度的输入字符串(数字、字母、媒体文件)转换为固定长度。固定比特长度可以变化(如 32 位、64 位、128 位或 256 位),具体取决于所使用的哈希函数。固定长度的输出称为哈希。这个哈希也是哈希算法的密码学副产品。我们可以从下面的图表中理解。

Blockchain Hash Function

哈希算法具有一定的独特属性

  1. 它会产生唯一的输出(或哈希)。
  2. 它是一个单向函数。

在像 比特币 这样的加密货币的上下文中,区块链在其共识机制中使用了这种密码学哈希函数的属性。密码学哈希是给定数量数据的摘要或数字指纹。在密码学哈希函数中,交易作为输入,通过哈希算法运行,输出固定大小。

SHA-256

比特币的区块链使用 SHA-256(安全哈希算法)哈希算法。2001 年,SHA-256 哈希算法由美国国家安全局 (NSA) 开发。

哈希过程是如何工作的?

对于这个哈希函数,我们将使用 Anders Brownworth 开发的一个程序。您可以在下面的链接中找到该程序。

Anders Brownworth 哈希程序: https://anders.com/blockchain/hash.html

Blockchain Hash Function

如果我们输入数据部分的任何字符,我们将在哈希部分观察到其对应的密码学哈希。

例如:我们在数据部分输入:This is a great tutorial

它将生成相应的哈希


Blockchain Hash Function

现在,如果我们更改文本:“This is a great tutorial。”为“this is a great tutorial。”

您将找到相应的哈希

在上面,您可以看到我们只更改了句子的第一个字符的大小写,从大写的“T”到小写的“t”,这将更改整个哈希值。

注意:如果我们再次在数据部分输入相同的文本,它总是会产生相同的输出。这是因为您正在为该特定数据量创建消息摘要。

由于哈希函数是单向函数,因此无法从生成的哈希中还原整个文本。这与传统的加密函数(如加密)不同,在加密中,您可以使用密钥进行加密,并通过使用解密将消息解密回其原始形式。


下一个话题区块链区块哈希