一文了解什么是哈希Hash?

金色财经 閱讀 33192 2020-11-9 09:23
分享至
微信掃一掃,打開網頁後點擊屏幕右上角分享按鈕

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

哈希定义

Wisdom Chain

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

一文了解什么是哈希Hash?

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

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

哈希函数、算法

Wisdom Chain

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

一文了解什么是哈希Hash?

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

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

哈希表

Wisdom Chain

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

一文了解什么是哈希Hash?

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

特点

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

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

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

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

btcfans公众号

微信掃描關注公眾號,及時掌握新動向

來源鏈接:https://www.jinse.com/
免責聲明:
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場
標籤: 哈希函数 哈希
上一篇:我们为什么需要央行数字货币(CBDC) 下一篇:公链在Layer1的坚守和选择

相關資訊