TechTarget数据库 > 百科词汇

hashing definition:

哈希是成立与一串成的traformation通常短固定长度的值或关键代表原始字符串。使用哈希索引和检索数据库中的条目,因为它是更快的找到物品使用较短的散列键使用原始值比找到它。它也被运用于很多加密算法.
作为一个简单的例子使用的散列数据库,一群人可以安排在这样一个数据库:
Sara Epperdingle Abernathy罗斯科·摩尔,Wilfred史密斯,大卫(和许多更多sorted into alphabetical order)
每逾期地名则是关键in the database for that棋子,在这个游戏“s数据。数据库搜索机制符合不得不开始逐字符望名称匹配,直到找到匹配(或统治其他条目)。但是如果每个名字是散列,是可能的(取决于名称在数据库中)的数量为每个名称生成一个惟一的四位数字键。例如:
7864年,阿伯纳西莎拉9802 Epperdingle,罗斯科1990摩尔,威尔弗雷德·史密斯8822年,大卫(等等)
搜索任何名称符合coist计算的散列值(使用相同的散列函数用于存储项目)使用该值,然后比较匹配。一般来说,跨四位数更快找到一个匹配,每个只有10的可能性,比在一个不可预测的值在每个字符长度26的可能性。
散列算法叫做哈希函数,可能这个词来源于产生的散列值可以被认为是一个/混合/ veion代表的价值。
除了更快的数据检索,哈希还用于加密和解密数字签名(用于验证消息sende和接收)。数字签名与哈希函数然后traformed散列值(称为消息摘要)和签名是在单独的tramissio发送到接收器。使用发送方一样的哈希函数,接收一个消息摘要来自签名并比较其与消息摘要也收到了。(他们应该是一样的。)
哈希函数是用来索引原始值或密钥,然后使用后每次相关的数据值或检索是关键。因此,哈希总是单向操作。没有需要/ revee工程师/散列函数通过分析散列值。事实上,理想的哈希函数不能被这样的分析推导。一个好的哈希函数也不应该产生相同的散列值从两个不同的输入。如果是这样,这就是所谓的碰撞。一个哈希函数,进攻的风险极低的碰撞可能coidered接受。
这里有一些相对简单的散列函数使用:
Division-remainder方法:表中的条目的数量大小的估计。那号码是作为除数为每个原始值或提取商和余数的关键。其余的散列值。(因为该方法容易产生许多collisio,任何搜索机制必须能够识别碰撞并提供一种替代搜索机制。)
折叠方法:该方法将原始值(在这种情况下数字)分成几个部分,添加了部分在一起,然后使用最后四位数字(或其他任意数量的数字工作)的散列值或关键。
基数traformation方法:价值或关键的数字,基地数量(或基数)可以改变导致不同的数字序列。(例如,一个十进制数字键可以traformed为十六进制数键。)高阶数字可以丢弃适合统一长度的散列值。
位重排方法:这只是参与的原始值或数字等关键职位3到6,梦的秩序,然后使用散列值或关键的数字序列。
有几个知名的散列函数中使用的加密。这些包括消息摘要散列函数MD2、MD4 MD5,用于散列数字签名短值称为消息摘要,和安全散列算法(SHA),一个标准的算法,使更大(60-bit)消息摘要和MD4相似。一个哈希函数,适用于数据库存储和检索,然而,至于密码或错误检查的目的可能无法正常工作。

最近更新时间:2015-11-30 EN

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐