百科题库网 分享最新题库资源与答题解析


请从下列各项中选出不是HASH函数算法的一项。()


A、MD5
B、SHA
C、HMAC
D、MMAC

所属分类: 信息技术/IT (免费栏目) 浏览量: 255 次


有一点你搞错了。Hash算法不是为了快速找出相同的元素,而是为了快速判断两个元素不相等。
所有散列函数都有如下一个基本特性:如果两个散列值是不相同的(根据同一函数),那么这两个散列值的原始输入也是不相同的。这个特性是散列函数具有确定性的结果。但另一方面,散列函数的输入和输出不是一一对应的,如果两个散列值相同,两个输入值很可能是相同的,但并不能绝对肯定二者一定相等。


例如:设计一个针对字符串的Hash算法,简单地返回字符串的首字母:
def Hash_string(str):
return str[0]
那么:
Hash_string(a)=Hash(gfdgfd)=g
Hash_string(b)=Hash(xzcfs)=x

这样就可以最快速地判断出两个字符串不相等。这个Hash算法常用于将大量文件分散存储。

对于首字母相同的两个字符串,本算法得到的Hash值肯定相同,这就是出现了命中冲突。解决命中冲突有很多策略,比如:再散列法、链地址法、公共溢出法……等等。


一个好的Hash算法,应该保证高命中率和均匀分布。

以上为百科题库网整理的关于"请从下列各项中选出不是HASH函数算法的一项。()"试题答案及解析,如想学习更多信息技术/IT类竞赛题,欢迎访问www.baiketk.com查看搜索更多相关信息。

转载请注明:百科题库网https://www.baiketk.com/q_l5ff7d384150b6.html