区块链初学者必读:Hash是什么?Hash算法、哈希表详解

释放双眼,带上耳机,听听看~!
了解区块链的初学者必读!本文详细解释了Hash的概念,包括Hash算法、哈希表等内容。讲解了哈希值的产生过程以及其在数据完整性检验中的应用。

"但凡是了解过区块链的人,多多少少都会听说过这个概念,但是又对其很模糊,那么到底什么是Hash呢?"

哈希定义

Wisdom Chain

Hash一般翻译为散列,还有音译为哈希,本文我们统称为哈希(哈希=散列),通过百度以及谷歌都没有直接找到Hash的定义,而是找到了一些相关的概念,哈希算法,哈希函数,哈希表等概念。

区块链初学者必读:Hash是什么?Hash算法、哈希表详解

笔者所理解的哈希是指一个过程,这个过程就是把任意长度的输入,通过哈希算法,变换成固定长度的输出,所输出的称为哈希值。

这种变换是一种压缩映射,也即哈希值所占的空间一般来说远小于输入值的空间,不同的输入可能会哈希出相同的输出(概率很小)。

哈希函数、算法

Wisdom Chain

哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。

区块链初学者必读:Hash是什么?Hash算法、哈希表详解

如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。

要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。一般用于快速查找和加密算法 —《数据结构与算法分析》

哈希表

Wisdom Chain

散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。

区块链初学者必读:Hash是什么?Hash算法、哈希表详解

也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。

特点

  1. 如果两个哈希值是不相同的(根据同一函数),那么这两个散列值的原始输入一定是不相同的。

  2. 如果两个哈希值相同,两个输入值很可能(极大概率)是相同的,但也可能不同,这种情况称为“哈希碰撞”

  3. 抗篡改能力:对于一个数据块,哪怕只改动其一个比特位,其hash值的改动也会非常大。

  4. 它是一种单向函数是“非对称”的,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。

教程

比特币挖矿风险揭秘:工程、运营、政策风险详解

2024-1-23 16:11:00

教程

区块链技术中的多重签名应用及安全保障

2024-1-23 16:20:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索