垂直网站需要多少钱网址搜索域名查询
一、了解哈希算法
1、简介
Hash算法(又称摘要算法),一般翻译做散列或音译为哈希,哈希算法具有不可逆性、压缩性、高效性等重要特点,可以将任意长度的数据转换成一个固定长度的哈希值。该输出就是散列值。这种转换是一种压缩映射,一般输出长度会远远小于输入长度,不同的输入大概率会产生不同的输出(由于哈希冲突,可能会造成不同输入相同输出的情况发生),故不能通过散列值来确定唯一值,简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
2、哈希碰撞
什么是哈希碰撞?当我们对一个元素进行哈希运算时得到了一个储存地址,但该地址已经被其他元素占用,当我们对key1和key2进行Hash运算时,key1 ≠ key2时但计算的f(key1)=f(key2),即发生了哈希碰撞,也叫哈希冲突。哈希碰撞不可被避免,因为输出的散列值长度是固定的,但输入值的数量是无穷的,无限的输入散列到有限的输出中必将产生产生重复值,但可以通过对算法的优化减少哈希碰撞。
3、哈希算法的作用
哈希算法可以用于用户密码的安全存储和验证。具体实现方法为将用户密码经过哈希算法处理