免责声明: 金色财经作为开放的资讯分享平台,所提供的所有资讯仅代表作者个人观点,与金色财经平台立场无关,且不构成任何投资理财建议。

到底什么是哈希Hash?

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

哈希定义

Wisdom Chain

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

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

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

哈希函数、算法

Wisdom Chain

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

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

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

哈希表

Wisdom Chain

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

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

特点

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


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


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


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

jinse.com
好文章,需要你的鼓励
jinse.com
好文章,需要你的鼓励
了解更多区块链一线报道,与作者、读者更深入探讨、交流,欢迎添加小助手微信:jinsecaijing666, 进入[金色财经读者交流群]。
发表评论
0/140
发布评论
评论
文章作者: / 责任编辑: 我要纠错

声明:本文由入驻金色财经的作者撰写,观点仅代表作者本人,绝不代表金色财经赞同其观点或证实其描述。

提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。

金色财经 > 区块链 > 到底什么是哈希Hash?