哈希算法
将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串就是哈希值。
优秀哈希算法需要具备的
1.从哈希值不能方向推导出原始数据(所以也叫做单向哈希算法)
2.对传入的数据非常敏感,哪怕原始数据只修改了一个Bit,最后得到的哈希值也大不相同
 3;.散列冲突的概率要很小,对于不同的原始数据,哈希值相同的概率非常小,
4.哈希算法的执行效率要尽量高效,针对较长的文本,也能快速计算出哈希值。
应用场景
应用一:安全加密
最常用于加密的哈希算法是MD5(MD5消息摘要算法)和SHA(安全散列算法)
对于加密的哈希算法来说,有两点格外重要。第一点就是很难根据哈希值方向推导出原始数据,第二点旧时散列冲突的概率要很小
应用二:唯一标识
将信息存唯一标识,然后存进散列表中这唯一标识,通过哈希算法计算出数据的唯一标识,从而用于高效检索数据。
应用三:数据校验
利用哈希算法对输入数据敏感的特点,可以对数据取哈希值,从而高效校验数据是否被篡改过。
应用四:散列函数
散列函数中用到的哈希算法更加关注散列后的值能不能平均分布,以及散列函数的执行快慢。
应用五:负载均衡
1.1.需求
如何实现一个会话粘滞