龙空技术网

哈希算法用途到底有多广

拂岗 131

前言:

此刻姐妹们对“哈希算法应用”大概比较珍视,姐妹们都需要了解一些“哈希算法应用”的相关资讯。那么小编同时在网上搜集了一些关于“哈希算法应用””的相关知识,希望同学们能喜欢,兄弟们快快来了解一下吧!

哈希函数,也叫散列函数,实现哈希函数的算法叫做哈希算法,计算过程称作哈希运算,得到的结果叫做哈希值。比较常见的哈希算法有MD系列,SHA系列等。他有3个特性:

哈希值是单向的,只能通过输入计算其输出,不能通过输出反推回输入。不同的输入,会得到不同的输出。如果有两个输入得到同一个输出,这种情况叫做撞库,属于哈希算法的漏洞。输入即使只变更了一个字母,输出也会变得完全不一样。哪些场景会应用到哈希算法

密码保护:存储在服务器的用户密码通常以密文的方式保存,因此会将密码经过哈希运算,保存其哈希值,这样,即使数据库被破解,用户的密码也不会泄露。

数据校验:文件传输时,可以通过比对传输前后文件内容的哈希值,来检验文件在传输过程中文件是否绝对一致。在存档时,也可以用哈希值来判断文件是否修改过。

数字签名:在传递消息的同时,也带上消息的哈希值。这样,接收方可以通过比对哈希值来判断消息是否被篡改。

key-value数据存储:存储键值对数据时,会对key值做哈希计算,然后用哈希值将其映射到相应的域中,然后保存其value值。

哪些算法会应用到哈希算法

布隆过滤算法:布隆过滤是用于验证一个元素是否存在一个集合里,他的一个很大的优势是不用保存所有元素,因此可以用于超大集合的验证上。他很巧妙的将一个无限的集合映射到一个有限的数组里。而这个映射,用的就是哈希函数。

一致性哈希算法:这个算法通常应用于分布式对象存储上。为了能将对象均匀地保存到存储节点上,不会造成一个节点已经存满了,另一个节点还比较空闲。因此在每一个对象选择存储设备前,需要先对其做哈希处理,然后映射到对应的存储节点上。

数字签名算法:将加密算法和哈希算法相结合,通过哈希算法保证其消息没篡改过,通过加密算法(非对称加密算法)保证消息不可伪造和不可抵赖性。

大家平时还会在哪些场景或者算法中应用到哈希算法呢?

欢迎在评论区留言,一起交流吧。

标签: #哈希算法应用