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

哈希算法具有以下特性:

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

    SHA-256

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

    散列过程如何工作?

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

  • https://anders.com/blockchain/hash.html
  • 如果在数据部分中输入任何内容,在哈希部分中都有一个等效的加密哈希。

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

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

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

    将会得到相应的哈希:

    4bc35380792eb7884df411ade1fa5fc3e82ab2da76f76dc83e1baecf48d60018
    

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

    注意:如果在数据部分再次写入相同的文本,它将始终提供相同的输出。

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

       纠错/补充