美文网首页
hash,不是保险柜,是榨汁机

hash,不是保险柜,是榨汁机

作者: Rafael10 | 来源:发表于2018-06-30 17:13 被阅读0次

区块结构里,在区块头的部分,包含着上一个区块的哈希值。每一个区块正是通过包含它上一个区块的哈希值,从而按照时间的先后顺序连接起来的。

哈希值或者Hash,是我们在区块链周边领域高频接触的概念,它究竟是什么呢?

区块的哈希值(Hash Value)是由包含此区快的所有信息经过哈希算法(Hash Algorithm)转化而来的。每一个区块与它的哈希值存在着一一对应的关系,也就是说,有了一个区块的哈希值,我们可以准确定位到那个区快,以及它的上一个区块。如果第X个区块包含第N个区块的哈希值,那么则表示第X个区块的上一个区块就是第N个区块。

哈希算法是一种数学方法和计算程序,它接收任何一组长度的输入信息(通常是字符串),将其转换成固定长度的数据指纹输出形式,比如字母和数字的组合,该输出就是哈希值。

哈希算法的处理使存储和查找信息的速度更快,因为哈希值通常更短所以更容易被找到。之所以把哈希值称为“数据指纹”,是因为它和原有的输入信息有一一对应的特性,原有区块的信息都对应着自己独一无二的哈希值。因为一个好的哈希算法很少出现哈希冲突,即转换一个特定文档的结果总是一样的,但找到具有相同哈希值的两个输入文件在计算上是计算不可行的,任何微小的变化,比如多个标点,都会对输出的哈希值产生改变。

比特币网络所采用的哈希算法叫做SHA256,是SHA(Secure Hash Algorithm)系列算法之一,由美国国家安全局设计,美国国家标准与技术研究院发布的一套哈希算法。由于此算法摘要长度为256bits,故称为SHA 256。SHA 256是目前看来保护数字信息的最安全的方法之一。

无论输入是什么数字格式、文件有多大,输出都是256位固定长度的比特串。每个比特(bit)就是一位0或者1,256比特就是256个0或者1二进制数字串,用16进制数字表示的话,就是64位。我们通常在https://btc.com/网站上看到的区块的哈希值,就是这种64位的字母和数字的组合。

sha256算法涉及相对复杂的数学加密方法,不在这篇文章的讨论范围之内。有兴趣的朋友可以参考下面的网址链接进行延伸阅读。

SHA256算法细节介绍:

https://blog.csdn.net/wowotuo/article/details/78907380

也可以在下面的网站上跑SHA256算法,可以输入任何信息,看看得到的独一无二的SHA256函数值。也可以尝试做一些微小的改变,比如加个逗号,看看输出结果会有怎样的改变。

SHA256计算网址:

http://www.kjson.com/encrypt/hash/?fm=map

哈希算法作为一种加密方法,可以让原输入信息(区块信息)不可见。但是哈希加密是一种不可逆的加密过程,具有单向性,即从哈希输出无法倒推输入的原始数值。哈希算法被广泛的用于数字签名和数据校验。相反,普通的加密方式是可逆的,具有双向性,更多的运用在基于密钥的加解密过程。

举个简单的例子,普通的加密方式(如AES、RSA、ECC)像是一个保险柜,可以锁住不想对外公开的信息,但是只要有保险柜的钥匙,我们随时可以打开它,再次看到信息。哈希算法(如SHA)更像是一台榨汁机,我们放进去苹果,出来苹果汁,我们可以通过苹果汁,知道这个果汁从哪种水果榨取来的,知道它不是香蕉汁,但是原来那个苹果的样子我们再也见不到了。

相关文章

  • hash,不是保险柜,是榨汁机

    区块结构里,在区块头的部分,包含着上一个区块的哈希值。每一个区块正是通过包含它上一个区块的哈希值,从而按照时间的先...

  • 我们谈商人时候会谈些什么?

    如果有人跟你说他看见原本封在保险柜里的钱飞在天上了,而保险柜根本没有打开过!你会怎么想呢?是不是认为这个人不是说谎...

  • js-hash去重,hash去重

    js中使用hash去重,需要建立在对象的基础之上,因为对象的存储采用的是hash表。不是自己去写hash算法 ,j...

  • 2018-12-13

    我的保险柜 今天见了一位老朋友,送我一台保险柜,旁边有人开玩笑说:“保险柜不保险呀,值钱的东西都放保险柜,真要有小...

  • 你真的了解HASH吗?

    什么是Hash?什么是Hash表?什么是Hash冲突? HASH   哈希(散列)是指:任意长度的输入经过hash...

  • Redis 数据类型及应用场景——Hash

    今天来接着聊下redis数据类型中的哈希(hash) 数据类型,说到hash可能大家都不是很陌生,hash是一种数...

  • 保险柜风水布局原则和摆放位置讲究

    保险柜是一个家庭或者一个公司的财库,如果保险柜摆放恰当这对于财运的增长是由百利而无一害,相反,如果保险柜风水出现了...

  • 后怕!发票丢了怎么办?三则案例教你如何解决!

    案例一: 王会计所在的甲公司买了保险柜用于放发票,结果小偷以为保险柜里是钱,在夜深风高的9月9日凌晨把保险柜偷走了...

  • 保险柜

    前几天我爸爸买回来一个保险柜,之前我只听说过保险柜,却从没见过,我以为保险柜是层层枷锁,奇形怪状,就和武侠小说...

  • Golang标准库——hash

    hash hash包提供hash函数的接口。 type Hash Hash是一个被所有hash函数实现的公共接口。...

网友评论

      本文标题:hash,不是保险柜,是榨汁机

      本文链接:https://www.haomeiwen.com/subject/tiztuftx.html