跳到主要内容

哈希算法

一个合格的哈希算法要满足什么目标?​

  • 确定性: 相同的输入永远得到相同的输出;
  • 效率高: 计算开销小, 不拖慢哈希表本身;
  • 平均分布: 输出尽量均匀, 减少冲突;

哈希算法有哪些应用领域?​

  • 密码存储: 存储口令的哈希值而不是明文;
  • 数据完整性检查: 比较哈希值判断内容是否被改动;

哈希算法的安全标准是什么?​

  • 抗碰撞性: 难以找到两个不同输入产生相同的输出;
  • 雪崩效应: 输入的微小变化导致输出显著变化;

常用哈希算法如何比较?​

MD5SHA-1SHA-2SHA-3
推出时间1992199520022008
输出长度128 bits160 bits256 / 512 bits224/256/384/512 bits
哈希冲突较多较多很少很少
安全等级低, 已被成功攻击低, 已被成功攻击高高
应用已被弃用, 仍用于数据完整性检查已被弃用加密货币交易验证, 数字签名等可用于替代 SHA-2