哈希算法解读及哈希表原理

2018-09-2407:46:15数据结构与算法Comments3,697 views字数 1195阅读模式

哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。一般用于快速查找和加密算法。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/5596.html

哈希算法解读及哈希表原理

哈希算法是区块链中保证交易信息不被篡改的单向密码机制。哈希算法接收一段明文后,会以一种不可逆的方式将其转化为一段长度较短、位数固定的散列数据文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/5596.html

它有两个特点:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/5596.html

● 加密过程不可逆,意味着我们无法通过输出的散列数据倒推原本的明文是什么;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/5596.html

● 输入的明文与输出的散列数据一一对应,任何一个输入信息的变化,都必将导致最终输出的散列数据的变化。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/5596.html

在区块链中,通常使用SHA-256(安全散列算法)进行区块加密,这种算法的输入长度为256位,输出的是一串长度为32字节的随机散列数据。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/5596.html

区块链通过哈希算法对一个交易区块中的交易信息进行加密,并把信息压缩成由一串数字和字母组成的散列字符串。区块链的哈希值能够唯一而准确地标识一个区块,区块链中任意节点通过简单的哈希计算都可以获得这个区块的哈希值,计算出的哈希值没有变化也就意味着区块中的信息没有被篡改。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/5596.html

哈希算法解读及哈希表原理

哈希表是根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址。作为线性数据结构与表格和队列等相比,哈希表无疑是查找速度比较快的一种。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/5596.html

哈希表是种数据结构,它可以提供快速的插入操作和查找操作。第一次接触哈希表时,它的优点多得让人难以置信。不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上,这只需要几条机器指令。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/5596.html

对哈希表的使用者一一人来说,这是一瞬间的事。哈希表运算得非常快,在计算机程序中,如果需要在一秒种内查找上千条记录通常使用哈希表(例如拼写检查器)哈希表的速度明显比树快,树的操作通常需要O(N)的时间级。哈希表不仅速度快,编程实现也相对容易。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/5596.html

哈希算法解读及哈希表原理

哈希表原理文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/5596.html

线性表、树等结构中,记录在结构中的相对位置是随机的,和记录的关键字之间不存在确定的关系。因此,在该类结构中查找记录需进行一系列与关键字的比较,即这类查找方法是建立在“比较”的基础之上。理想的情况是,不经过任何比较,一次存取便能得到所查记录,那就必须在数据的存储位置和它的关键字之间建立一个确定的对应关系f,使每一个关键字与结构中一个唯一的存储位置相对应。因此,在查找时,只要根据这个对应关系f找到给定值K的像f(K),若结构中存在关键字和K相等的记录,则必定在f(K)的位置上。由此,不需要进行比较便可直接取得所查记录。在此,我们称这个对应关系f为哈希函数,按这个思想建立的表为哈希表。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/5596.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/suanfa/5596.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定