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

区块链哈希函数-LMLPHP

哈希算法具有以下特性:

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

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

SHA-256

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

散列过程如何工作?

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

区块链哈希函数-LMLPHP

如果在数据部分中输入任何内容,在哈希部分中都有一个等效的加密哈希。

例如,在数据类型部分输入:这是一个NB的区块链教程

它会生成相应的Hash,如下所示:

区块链哈希函数-LMLPHP

现在,如果使用两个文本:"This is a great tutorial.""this is a great tutorial."

将会得到相应的哈希:

4bc35380792eb7884df411ade1fa5fc3e82ab2da76f76dc83e1baecf48d60018

在上面,可以看到只将第一个字符大小写句子从大写“T”改为小“t”,它将改变整个哈希值。

由于Hash函数是单向函数,因此无法从生成的哈希中获取整个文本。这与传统的加密函数(如加密)不同,可以使用密钥加密某些内容,使用解密功能可以将邮件解密为原始格式。


03-07 10:48