区块链密码学:哈希(Hash)

当前位置:首页 > 币圈百科 > 区块链密码学:哈希(Hash)

区块链密码学:哈希(Hash)

2022-11-13币圈百科271

在本文中,我们将首先介绍比特币使用的密码学技术:Hash。哈希是什么?有点像洗牌的概念,只不过不是牌,而是一段数据。这个“洗牌”过程是严格定义的,结果将是固定长度的。常见的哈希算法有MD5、RIPEMD-160、SHA1、SHA2蓑衣网小编202256等。不同的哈希算法有不同的“洗”过程,导致哈希值长度不同。例如,不管输入的数据有多大,MD5最终都会产生128位的结果,而SHA256将产生256位的哈希值。一个好的哈希算法通常需要具备以下特征:

蓑衣网小编2022

1。输入任意长度的数据,生成的哈希值为固定长度;2.获得哈希值的计算过程很快;3.输入数据的任何变化都会导致生成的哈希值有很大差异;4.它是单向的,输入数据很容易获得哈希值,但不可能从哈希中知道原始数据能做什么。今天,如果阿牛在下班前打了一份500页的重要文件,因为它太重要了,不能离开公司,他怎么知道第二天上班时是否有人在晚上潜入公司更改了他的文件?有一个很简单的方法可以得到整个文档的哈希值,比如用SHA256得到一个256bits的哈希值,然后写在纸上或者其他地方。第二天他到公司的时候,只要得到这份文件的hash值,然后和昨天下班前得到的256bits值对比,如果两者有差异,就说明有人窃取并更改了这份文件,阿牛会再仔细检查这份文件。如果两者相同,则意味着文蓑衣网小编2022档没有被修改,阿牛可以安心地继续编辑他的文档。我们再回头看看为什么一个好的哈希值需要以上四点。1.定长:因为结果是定长的,所以阿牛可以知道准备复印多少张纸,而不是有时长有时短,也不方便比较。至于程序,设计者可以提前规划出多少空间来放置哈希值,不用担心溢出问题。2.快速得到结果:虽然输入数据越大,计算hash的时间会相对增加,但是整个过程仍然不需要太复杂的计算,所以即使阿牛的文件有500页,也可以快速得到hash值。3.任何改变的结果都是完全不同的:即使有人在阿牛的整个500页文档中多加了一个空格,阿牛第二天也能清楚地知道哈希值是不同的,第三个特征还有一个重要原因,就是它不能显示原始数据和哈希值之间的任何相关性,所以即使原始数据有任何改变,结果也是完全不同的。4.单向:如果阿牛今天不小心把纸条掉在电梯里,被别人捡到了,他也不会担心重要文件的信息会流出去,因为原始数据的内容无法从哈希值推导出来。哈希被广泛使用。比如网站登录时,密码会先转换成哈希值,如果有人检索信息,密码就不会流出。有些软件还提供哈希值。下载后,用户可以比较文件哈希,知道下载的软件是否被篡改。数字签名也使用散列来减少要加密的数据。但是,一些哈希算法,如MD5和SHA1,不再推荐使用。那么哈希值和比特币有什么关系呢?比特币所谓的“挖矿”,其实就是不断计算哈希值,直到找到合法的哈希值。这个合法的哈希值就是我们在上一篇文章中提到的“幸运草”。在第一篇文章中,我们说过区块链“难以篡改”的一个特征是通过一个接一个地串联散列值而产生的“链”的概念。任何对数据的篡改都会使原来合法的哈希值变成非法的,从而导致断链。接下来我们会讲比特币的“块”中有哪些数据,如何在“挖掘”中计算哈希值,将块连接成“块”

区块链密码学:哈希(Hash) | 分享给朋友: