数据结构与算法(十一) 哈希算法

131 阅读1分钟

什么是哈希算法?

将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串就是哈希值。

哈希算法需要满足

  • 从哈希值不能反向推导出原始数据(所以哈希算法也叫单向哈希算法);
  • 对输入数据非常敏感,哪怕原始数据只修改了一个 Bit,最后得到的哈希值也大不相同;
  • 散列冲突的概率要很小,对于不同的原始数据,哈希值相同的概率非常小;
  • 哈希算法的执行效率要尽量高效,针对较长的文本,也能快速地计算出哈希值。

应用

  • 安全加密
  • 唯一标识
  • 数据校验
  • 散列函数
  • 负载均衡
  • 数据分片
  • 分布式存储

参考

数据结构与算法之美学习笔记