哈希算法
哈希算法 /*--> */ /*--> */ 哈希算法 什么是哈希算法 哈希算法的应用 应用一:安全加密 应用二:唯一标识 应用三:数据校验 应用四:负载均衡 应用五:数据分片 应用六:分布式存储 哈希算法 什么是哈希算法 从哈希值不能反向推导出原始数据(所以哈希算法也叫单向哈希算法) 对输入数据非常敏感,哪怕原始数据只修改了一个Bit,最后得到的哈希值也大不相同 散列冲突的概率要很小,对于不同的原始数据,哈希值相同的概率非常小 哈希算法的执行效率要尽量高效,针对较长的文本,也能快速地计算出哈希值。 哈希算法的应用 应用一:安全加密 说到哈希算法的应用,最先想到的应该就是安全加密。最常用于加密的哈希算法是MD5(MD5 Message-Digest Algorithm,MD5消息摘要算法)和SHA(Secure Hash Algorithm,安全散列算法)。 对用于加密的哈希算法来说,有两点格外重要。第一点是很难根据哈希值反向推导出原始数据,第二点是散列冲突的概率要很小。 第一点很好理解,加密的目的就是防止原始数据泄露,所以很难通过哈希值反向推导原始数据,这是一个最基本的要求。所以我着重讲一下第二点。实际上,不管是什么哈希算法,我们只能尽量减少碰撞冲突的概率,理论上是没办法做到完全不冲突的。 没有绝对安全的加密。越复杂、越难破解的加密算法,需要的计算时间也越长。比如SHA