哈希算法简介

原创 2012年03月23日 07:52:34
哈希算法将任意长度的二进制映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。
  哈希表是根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址。作为线性数据结构与表格和队列等相比,哈希表无疑是查找速度比较快的一种。
  哈希
  通过将单向数学函数(有时称为“哈希算法”)应用到任意数量的数据所得到的固定大小的结果。如果输入数据中有变化,则哈希也会发生变化。哈希可用于许多操作,包括身份验证和数字签名。也称为“消息摘要”。

计算方法

哈希算法

  用来产生一些数据片段(例如消息或会话项)的哈希值的算法。使用好的哈希算法,在输入数据中所做的更改就可以更改结果哈希值中的所有位;因此,哈希对于检测数据对象(例如消息)中的修改很有用。此外,好的哈希算法使得构造两个相互独立且具有相同哈希的输入不能通过计算方法实现。典型的哈希算法包括 MD2、MD4、MD5 和 SHA-1。哈希算法也称为“哈希函数”。
  另请参阅: 基于哈希的消息验证模式 (HMAC), MD2, MD4, MD5, 消息摘要, 安全哈希算法 (SHA-1)
  MD5一种符合工业标准的单向 128 位哈希方案,由 RSA Data Security, Inc. 开发。 各种“点对点协议 (PPP)”供应商都将它用于加密的身份验证。哈希方案是一种以结果唯一并且不能返回到其原始格式的方式来转换数据(如密码)的方法。质询握手身份验证协议 (CHAP) 使用质询响应并在响应时使用单向 MD5 哈希法。按照此方式,您无须通过网络发送密码就可以向服务器证明您知道密码。
  质询握手身份验证协议 (CHAP)“点对点协议 (PPP)”连接的一种质询响应验证协议,在 RFC 1994 中有所描述。 该协议使用业界标准 MD5 哈希算法来哈希质询串(由身份验证服务器所发布)和响应中的用户密码的组合。

点对点协议 (PPP)

  用点对点链接来传送多协议数据报的行业标准协议套件。RFC 1661 中有关于 PPP 的文档。
  另请参阅: 压缩控制协议 (CCP), 远程访问, 征求意见文档 (RFC), 传输控制协议/Internet 协议 (TCP/IP), 自主隧道

常见hash算法介绍

散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙。 散列表(Hash table...
  • shanzhizi
  • shanzhizi
  • 2012年06月26日 15:06
  • 1322

几种常用的哈希算法

代码全部来自 http://www.partow.net/programming/hashfunctions/index.html 1、RSHash unsigned int RSHash(cons...
  • ch4230052
  • ch4230052
  • 2013年05月27日 18:01
  • 2787

详解哈希算法、哈希表

哈希算法详解 何为哈希算法哈希算法又称为散列技术(Hash技术),哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。...
  • lyp_558
  • lyp_558
  • 2015年10月29日 21:14
  • 1038

Hash算法总结

Hash是什么,它的作用先举个例子。我们每个活在世上的人,为了能够参与各种社会活动,都需要一个用于识别自己的标志。也许你觉得名字或是身份证就足以代表你这个人,但是这种代表性非常脆弱,因为重名的人很多,...
  • asdzheng
  • asdzheng
  • 2017年04月18日 11:07
  • 4031

安卓感知哈希算法

public static String getHash(Bitmap bmp){ /** * 第一步,缩小尺寸。 * 最快速的去除高频和细节,只保留结构明暗的方法就是缩小...
  • u012106269
  • u012106269
  • 2014年10月14日 18:06
  • 131

基于感知哈希算法的视觉目标跟踪

基于感知哈希算法的视觉目标跟踪zouxy09@qq.comhttp://blog.csdn.net/zouxy09        偶然看到这三篇博文[1][2][3],提到图片检索网站TinEye和谷...
  • zouxy09
  • zouxy09
  • 2013年12月21日 20:17
  • 42929

什么是哈希Hash算法

ReVanTis,程序猿;游戏爱好者;图像处理入门中;吃货; 许奋旭、御宅暴君、马迅 等人赞同 谐妖。 通俗点讲吧 哈希算法是用来解决数据和数据之间对应关系的一种算法。它的...
  • u013001997
  • u013001997
  • 2014年04月16日 16:19
  • 1676

【 哈希算法 】

哈希(Hash)算法就是单向散列算法,它把某个较大的集合P映射到另一个较小的集合Q中,假如这个算法叫H,那么就有Q = H(P)。对于P中任何一个值p都有唯一确定的q与之对应,但是一个q可以对应多个p...
  • WYK1823376647
  • WYK1823376647
  • 2016年07月27日 11:32
  • 188

感知哈希算法(Perceptual hash algorithm) 以图搜图

1.序 目前“以图搜图”的引擎越来越多,可参考博文: http://blog.csdn.net/forthcriminson/article/details/869...
  • weierqiuba
  • weierqiuba
  • 2017年05月06日 23:27
  • 652

Java进阶(五十七)-基于感知哈希算法的pHash图像配准算法

Java进阶(五十七)-基于感知哈希算法的pHash图像配准算法  毕业论文提交之后,老师交给自己一项任务:图像配准,也就是给你两幅图像,通过系统来判定两幅图像是否为同一副图像。自己作为这一方面的小白...
  • sunhuaqiang1
  • sunhuaqiang1
  • 2017年04月18日 21:03
  • 40585
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:哈希算法简介
举报原因:
原因补充:

(最多只允许输入30个字)