下载文件时看到 MD5 校验码,登录系统时看到密码以 MD5 存储,很多人在网上问“MD5 能不能反解”。这个问题需要先理解 MD5 是什么。

MD5 是什么

MD5 是一种哈希算法。它的核心特点是:

  • 不可逆:从原始数据能算出 MD5 值,但从 MD5 值无法还原原始数据。
  • 固定长度:不管输入是“a”还是整本小说,输出的 MD5 都是 32 位十六进制字符。
  • 雪崩效应:输入改动一个字符,输出的 MD5 会完全不同。

网上所谓的“MD5 解密”其实是暴力穷举或查彩虹表 —— 把常见字符串的 MD5 提前算好存起来匹配,并不是真的“解密”。

MD5 适合做什么

MD5 适合用来校验数据的完整性。常见场景包括:

  • 下载软件后比对 MD5 值,确认文件没有损坏或被篡改。
  • 对文本内容生成 MD5 摘要,判断两段文本是否完全相同。
  • 在数据库中为内容建立摘要字段,辅助快速比对。
  • 去重时快速比对数据是否已经存在。

基本使用步骤

  1. 把文本内容粘贴到输入框。
  2. 点击生成 MD5。
  3. 复制结果与他人分享或做比对。

MD5 示例

输入:

www.maowenben.com

生成的 MD5 值:

28dd609cd0ec5ce6e03ca4b52d0cc15b

输入一个字符不同,MD5 就完全不同:

www.maowenben.cn
b94d9c316bc3be1f3000069d2774c399

常见问题

MD5 能不能反解? 技术上不能。MD5 是单向哈希,不是加密算法。网上搜到的“MD5 解密”是在彩虹表里查,不是真的反解。唯一的办法是用不同的值去试、看生成的 MD5 是否匹配。

MD5 适合保存密码吗? 不适合。MD5 计算速度太快,暴力破解成本很低。保存密码应该用 bcrypt、argon2 或 scrypt 等专用密码哈希算法。

MD5、SHA-1、SHA-256 有什么区别? 都是哈希算法,输出的长度不同:MD5 128 位、SHA-1 160 位、SHA-256 256 位。目前 MD5 和 SHA-1 存在碰撞风险,安全场景建议用 SHA-256。

相关工具推荐