华为云计算 云知识 什么是哈希算法
什么是哈希算法

【热门云产品免费试用活动】| 【最新活动】| 【企业应用优惠】

免费试用专区

哈希算法并不是一个特定的算法而是一类算法的统称。哈希算法也叫散列算法,一般来说满足这样的关系:f(data)=key,输入任意长度的data数据,经过哈希算法处理后输出一个定长的数据key。同时这个过程是不可逆的,无法由key逆推出data。

如果是一个data 数据集 ,经过哈希算法处理后得到key的数据集,然后将keys与原始数据进行一一映射就得到了一个哈希表。一般来说哈希表M符合M[key]=data这种形式。

哈希表的好处是当原始数据较大时,我们可以用哈希算法处理得到定长的哈希值key,那么这个key相对原始数据要小得多。我们就可以用这个较小的数据集来做索引,达到快速查找的目的。

稍微想一下就可以发现,既然输入数据不定长,而输出的哈希值却是固定长度的,这意味着哈希值是一个有限集合,而输入数据则可以是无穷多个。那么建立一对一关系明显是不现实的。所以"碰撞"(不同的输入数据对应了相同的哈希值)是必然会发生的,所以一个成熟的哈希算法会有较好的抗冲突性。同时在实现哈希表的结构时也要考虑到哈希冲突的问题。

密码上常用的MD5,SHA都是哈希算法,因为key的长度(相对大家的密码来说)较大所以碰撞空间较大,有比较好的抗碰撞性,所以常常用作密码校验。

 

更多相关文章:

1. 域名 建站专场

2. 商标特惠专场

5. SSL证书专场

6. 全球云服务专场

7. 云服务器 免费试用

10. 图片文字识别 OCR

11. 网站建设 自助 建站

12. 企业应用专场

13. 域名注册 申请

14. 服务器和网关的关系是什么?网关的作用有哪些

15. 域名解析a记录是什么意思

16. 网址域名ip查询方式有哪些?域名和ip地址的区别是什么?

17. 域名和url的区别与联系是什么?

18. 域名和ip地址有什么关系?二者的含义是什么?

上一篇:专属企业存储服务多少钱 下一篇:文档数据库服务存储的存储配置是什么