📜  区块链哈希函数

📅  最后修改于: 2020-12-18 03:04:52             🧑  作者: Mango

区块链哈希函数

哈希函数采用任意长度的输入字符串(数字,字母,媒体文件)并将其转换为固定长度。固定位长度可以变化(例如32位或64位或128位或256位),具体取决于所使用的哈希函数。固定长度的输出称为哈希。此哈希也是哈希算法的加密副产品。我们可以从下图了解它。

哈希算法具有某些独特的属性:

  • 它产生唯一的输出(或散列)。
  • 它是一种单向函数。

在像比特币这样的加密货币的背景下,区块链在其共识机制中使用了该加密哈希函数的属性。密码哈希是一定数量数据的摘要或数字指纹。在加密散列函数中,将事务作为输入并通过散列算法运行,该算法给出固定大小的输出。

SHA-256

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

哈希过程如何工作?

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

安德斯·布朗沃思(Anders Brownworth)哈希程序: https://anders.com/blockchain/hash.html

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

例如:我们在data部分输入:这是一个很棒的教程

它将生成相应的哈希:

759831720aa978c890b11f62ae49d2417f600f26aaa51b3291a8d21a4216582a

现在,如果我们更改文本:“这是一个很棒的教程。”要“这是一个很棒的教程”

您将找到相应的哈希:

4bc35380792eb7884df411ade1fa5fc3e82ab2da76f76dc83e1baecf48d60018

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

注意:如果我们在数据节中再次写入相同的文本,它将始终提供相同的输出。这是因为您正在创建该用户特定数据量的消息摘要。

由于哈希函数是单向函数,因此无法从生成的哈希中检索整个文本。这与传统的加密功能(如加密)不同,在传统的加密功能中,您可以使用密钥对某些内容进行加密,然后使用解密将消息解密为原始形式。