安全岗位面试题更新 2026-08-05

请列举几种常见的哈希算法,并阐述MD5、SHA-1和SHA-256这三者之间存在哪些主要区别?

安全意识技术原理

考察说明

考察对常见哈希算法的了解程度及对MD5、SHA-1和SHA-256差异的掌握情况。

回答思路

  1. 【回答框架 1】常见哈希算法包括MD5、SHA-1、SHA-2家族(如SHA-256、SHA-512)以及SHA-3等。它们将任意长度的数据映射为固定长度的摘要,用于数据完整性校验和密码存储,但在安全强度上存在差异。
  2. 【回答框架 2】MD5输出128位摘要,计算速度快,但存在碰撞漏洞,已不适用于安全敏感的场景;SHA-1输出160位摘要,同样是广泛使用的算法,但也已发现理论上的碰撞攻击;SHA-256属于SHA-2家族,输出256位摘要,目前被认为安全性更高,推荐用于密码学安全场景。
  3. 【回答框架 3】三者主要区别在于摘要长度、计算速度和安全性:MD5和SHA-1存在已知或潜在的碰撞漏洞,安全性较弱;SHA-256提供更长的摘要,抗碰撞能力更强。因此,在需要高安全性的系统中应优先选用SHA-256以上算法。
  4. 【关键点 1】MD5输出128位摘要,SHA-1输出160位,SHA-256输出256位。
  5. 【关键点 2】MD5和SHA-1已存在已知的碰撞攻击,不安全。
  6. 【关键点 3】SHA-256抗碰撞性更强,推荐用于安全场景。
  7. 【关键点 4】三者计算速度均较快,但在防碰撞方面SHA-256更可靠。
  8. 【关键点 5】在密码存储等场景中,还应考虑加盐和专用哈希函数(如bcrypt)。
  9. 【易错点 1】不可直接断言MD5或SHA-1完全无用,但它们不适合用于密码学安全。
  10. 【易错点 2】MD5和SHA-1的存在碰撞漏洞,但SHA-256也不能保证绝对无碰撞。