哈希函数接受任意长度的输入字符串(数字,字母,媒体文件)并将其转换为固定长度。固定位长度可以变化(如32位或64位或128位或256位),具体取决于所使用的散列函数。固定长度输出称为散列。此哈希也是哈希算法的加密副产品。这如下所示。
哈希算法具有某些独特的属性:
- 它产生一个唯一的输出(或哈希)。
- 这是一个单向的功能。
在像比特币这样的加密货币的情况下,区块链在其共识机制中使用这种加密哈希函数的属性。加密散列是一定数量的数据的摘要或数字指纹。在加密散列函数中,事务被视为输入并通过散列算法运行,该算法提供固定大小的输出。
SHA-256
比特币的区块链使用SHA-256(安全哈希算法)哈希算法。2001年,SHA-256 Hashing算法由美国国家安全局(NSA)开发。
散列过程如何工作?
对于这个哈希函数,我们将使用由Anders Brownworth开发的程序。该程序可在以下链接中找到。
Anders Brownworth Hash计划: https ://anders.com/blockchain/hash.html
如果我们在数据部分中输入任何内容,您将看到在我们构建的每个字符中,您在哈希部分中都有一个等效的加密哈希。
例如:我们有数据类型部分:这是一个很棒的教程。
它会生成相应的Hash:
- 759831720aa978c890b11f62ae49d2417f600f26aaa51b3291a8d21a4216582a
现在,如果我们更改文本:“这是一个很棒的教程。” 以“这是一个伟大的教程。”
你会发现相应的哈希:
- 4bc35380792eb7884df411ade1fa5fc3e82ab2da76f76dc83e1baecf48d60018
在上面,你可以看到我们只将第一个字符大小写句子从大写“T”改为小“t”,它将改变整个哈希值。
注意:如果我们在数据部分再次写入相同的文本,它将始终提供相同的输出。这是因为您正在创建该特定数据量的消息摘要。
由于Hash函数是单向函数,因此无法从生成的哈希中获取整个文本。这与传统的加密功能(如加密)不同,您可以使用密钥加密某些内容,使用解密功能可以将邮件解密为原始格式。
原创文章,作者:惊蛰财经,如若转载,请注明出处:http://www.xmlm.net/bi/32013.html