MD5 曾是最常用的哈希算法,如今被认为不安全。本文讲清它还能用在哪、不能用在哪。
MD5 已被证明存在碰撞攻击,能人为构造两个不同内容得到相同摘要,因此不能用于安全签名和防篡改。
密码存储、数字签名、文件完整性校验(需防篡改场景)都不该用 MD5,应用 SHA-256 等更安全的算法。
非安全场景如文件去重、快速比对、缓存键等,MD5 仍因速度快而被使用,只要不依赖其抗碰撞性即可。
MD5可被彩虹表反查和碰撞,密码应加盐后用慢哈希如 bcrypt。
SHA-256 位数更长且无已知实用碰撞,抗攻击能力强得多。
防篡改用 SHA-256;仅去重比对可用 MD5。
微信搜索公众号 效率工具箱 即可关注,第一时间收到新工具上线通知与效率干货。完全免费、无付费内容。