微信-投河自尽的虾向大家分享了区块链中的HASH算法(区块链解读),其中包含区块链解读,HASH算法等知识点,遇到此问题的同学们可以参考下
区块链技术是一系列技术的结合,建立一种新的技术架构,hash算法是其中尤为重要的一块,这里简单对hash算法做一个说明。如果有理解不当的地方请及时指正。
讲hash算法之前先明确一个基础的计算机知识,计算机在底层机器码是采用二进制的模式,所谓二进制简单来说就是底层以0/1来标识,所有数据传输记录都以010101的模式来存储记录,两种状态也可认为就是一个日常生活中的开关,1标识开,0标识关。那么计算机中最小的数据单位也就是这里说的0或者1,这里我们称为bit(比特或者位),8个bit组成一个字节。当然计算机中也有八进制、十六进制的表示,这里暂时不展开讨论。只明确底层一个二进制的概念。
Hash算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。一般用于快速查找和加密算法。 再引入一个hash表概念,计算机数据结构中,给定一个表M,关键字key,存在函数H(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为hash表。