美文网首页
人们常说的哈希(Hash)到底是什么?

人们常说的哈希(Hash)到底是什么?

作者: WisdomChain中文社区 | 来源:发表于2020-02-23 15:02 被阅读0次

了解过区块链的朋友,一定听过“哈希”这一词汇,然而对哈希的概念又极其的模糊,那么哈希是什么呢?

Hash一般被翻译成“散列”,也可直接音译为“哈希”,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。

这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

Hash主要用于信息安全领域中加密算法,它把一些不同长度的信息转化成杂乱的128位的编码,这些编码值叫做Hash值. 也可以说,通俗的说Hash就是找到一种数据内容和数据存放地址之间的映射关系。

哈希函数、算法

哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。

哈希表

散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。

特点如果两个哈希值是不相同的(根据同一函数),那么这两个散列值的原始输入一定是不相同的;如果两个哈希值相同,两个输入值很可能(极大概率)是相同的,但也可能不同,这种情况称为“哈希碰撞”。

抗篡改能力:对于一个数据块,哪怕只改动其一个比特位,其Hash值的改动也会非常大。它是一种单向函数是“非对称”的,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。

参考:https://gist.github.com/arrayadd

相关文章

  • 人们常说的哈希(Hash)到底是什么?

    了解过区块链的朋友,一定听过“哈希”这一词汇,然而对哈希的概念又极其的模糊,那么哈希是什么呢? Hash一般被翻译...

  • 计算文件哈希值

    什么是哈希值? 哈希值(hash values)是使用哈希函数(hash function)计算得到的值。哈希函数...

  • 哈希算法

    哈希算法 什么是hash函数?常见的hash算法hashlib的用法hash算法的用途 什么是hash函数? 哈希...

  • 区块链技术之哈希算法

    一、哈希是什么? Hash,一般翻译为散列、音译为哈希。它是一种数学函数,又被称为散列函数。哈希算法又称为哈希函数...

  • Perl 得到重复行的次数

    命令描述chomp($_)过滤断行符号$hash{...}哈希表say打印keys %hash排序哈希表forea...

  • Hash算法简介

    1. Hash是什么,它的作用 哈希算法(Hash Algorithm),又称散列算法,是一种从任意数据中提取小的...

  • 哈希表

    映射(Map) 和 集合(Set) 哈希表(HashTable)、哈希函数(Hash Function)、哈希碰撞...

  • 哈希-Hash

    将数据通过密码学的运算转变成一段不可知的定长数据,不管加密的数据有多大或多小生成的hash值的长度是固定的...

  • Hash哈希

    基本概念 Hash,一般翻译做“散列”,也有直接音译为“哈希”的。那么哈希函数的是什么样的?大概就是 value ...

  • 哈希-Hash

    HashMap Hash通常有几种方法: 除留余数法: H(key) = key mod N 直接定址法(取关键字...

网友评论

      本文标题:人们常说的哈希(Hash)到底是什么?

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