区块链哈希函数
哈希函数接受任意长度的输入字符串(数字,字母,媒体文件)并将其转换为固定长度。固定位长度可以变化(如32位或64位或128位或256位),具体取决于所使用的散列函数。固定长度输出称为散列。此哈希也是哈希算法的加密副产品。这如下所示。
哈希算法具有以下特性:
- 它产生一个唯一的输出(或哈希)。
- 它是一个单向的函数。
在像比特币这样的加密货币的情况中,区块链在其共识机制中使用这种加密哈希函数的属性。加密散列是一定数量的数据的摘要或数字指纹。在加密散列函数中,事务被视为输入并通过散列算法运行,该算法提供固定大小的输出。
SHA-256
比特币的区块链使用SHA-256(安全哈希算法)哈希算法。2001年,SHA-256 Hashing算法由美国国家安全局(NSA)开发。
散列过程如何工作?
对于这个哈希函数,我们将使用由Anders Brownworth开发的程序。该程序可在以下链接中找到。
如果在数据部分中输入任何内容,在哈希部分中都有一个等效的加密哈希。
例如,在数据类型部分输入:这是一个NB的区块链教程
它会生成相应的Hash,如下所示:
现在,如果使用两个文本:"This is a great tutorial."
和"this is a great tutorial."
。
将会得到相应的哈希:
4bc35380792eb7884df411ade1fa5fc3e82ab2da76f76dc83e1baecf48d60018
在上面,可以看到只将第一个字符大小写句子从大写“T”改为小“t”,它将改变整个哈希值。
注意:如果在数据部分再次写入相同的文本,它将始终提供相同的输出。
由于Hash函数是单向函数,因此无法从生成的哈希中获取整个文本。这与传统的加密函数(如加密)不同,可以使用密钥加密某些内容,使用解密功能可以将邮件解密为原始格式。
扫描二维码
程序员编程王