什么是哈希算法
所谓哈希算法就是将任意长度的二进制值串映射为固定长度的二进制值串,映射出的值就是哈希值。
特点:
1、不能从密文逆推出明文(单向的)
2、对输入的数据很敏感,改一个bit都会有很大的变化。
3、哈希冲突概率要很小
4、执行效率要高
哈希算法的应用
1、唯一标识
比方说在海量的图库中找图片,搜索图片时,不能通过名称去找,因为同一个名称的图可能会有几张内容不同的图片。最笨的方法就是将图片的二进制串码进行比对。解决途径:将图片的二进制串码的部分截取,拼凑起来然后计算哈希值,作为唯一标识,用于判断图片是否在库中。
2、安全加密
md5、sha等等。
3、数据校验
迅雷下载时把文件分块传输,不知道传输过程是否被别人给改了,可以给每块数据计算一下哈希值,传完之后就做一下比对。
4、散列函数
散列函数追求的数据分的均不均匀还有效率,对可不可逆不是很关心。
5、负载均衡
6、数据分片
7、分布式存储