实用工具

MD5在线计算工具

输入文本即实时生成 32 位与 16 位(大写、小写)四种 MD5 哈希格式,支持中文与 emoji(UTF-8 编码),每个结果一键复制。全部在你的浏览器本地计算,原文不会上传。

MD5-32 —
MD5-32 —
MD5-16 —
MD5-16 —

"16位"并非另一种算法,而是 32 位结果的中间 16 个字符(第 9–24 位),常见于部分旧系统的截短用法。上两行结果为大写、下两行为小写。

🔒 隐私说明:本工具的 MD5 计算全部在你的浏览器本地完成,输入的原文与结果不会上传到服务器。

什么是 MD5?

MD5(Message-Digest Algorithm 5)是一种密码学哈希函数,把任意长度的输入映射为固定 128 位(32 个十六进制字符)的摘要。它是单向的:从原文可以算出哈希,但无法从哈希还原原文。相同输入永远得到相同输出,哪怕只改动一个字符,结果也会完全不同。

本工具按 UTF-8 编码计算字节序列的 MD5——中文、emoji、换行与空格都参与计算。如果你在其他工具得到不同结果,先检查双方是否使用相同编码(例如 GBK 与 UTF-8 的中文哈希必然不同)。

MD5 适合用来做什么?

MD5 已存在实用的碰撞攻击方法,不再具备安全保证。它仍适合"非对抗性"场景,但请勿用于任何需要抵御恶意篡改或保护口令的地方:

✓ 适合的场景

  • 下载文件的完整性核对(如软件官方提供的 MD5 值)
  • 判断两个文件/两份数据是否一致(去重、变更检测)
  • 缓存键、临时文件名等开发用途
  • 对接只支持 MD5 的旧系统

✗ 不要用的场景

  • 密码存储——请使用 bcrypt、scrypt 或 Argon2id 等专用口令哈希
  • 数字签名或任何需要防伪造的场合
  • 抵御恶意篡改的完整性保护——请改用 SHA-256 或更强算法
  • 新安全协议的设计

常见问题

MD5 是什么?

MD5 是一种密码学哈希函数,把任意长度的文本映射为固定 32 个十六进制字符(128 位)的摘要。它是单向的:能从原文算出哈希,但不能从哈希还原原文;相同输入永远得到相同输出。

MD5 能解密或还原吗?

不能。MD5 是单向哈希而非加密,本身不可逆。网上的"MD5解密"网站只是用预先计算好的彩虹表查询常见字符串,查不到就无能为力。正因为可被彩虹表和碰撞攻击针对,MD5 不应用于密码存储。

32位和16位 MD5 有什么区别?

完整 MD5 是 32 个十六进制字符。"16位"不是另一种算法,而是取 32 位结果的中间 16 个字符(第 9–24 位),是部分旧系统的截短惯例。例如 abc 的 32 位值是 900150983cd24fb0d6963f7d28e17f72,16 位值是 3cd24fb0d6963f7d。

为什么中文或 emoji 的哈希在不同工具里不一样?

哈希计算的是字节序列,同一文本在不同编码下的字节不同。本工具统一使用 UTF-8;若某工具使用 GBK 等编码,中文结果必然不同。emoji 只在 UTF-8 等编码下有效,出现差异时先核对编码与是否多算/漏算了空格、换行。

MD5 还安全吗?可以用它存密码吗?

不安全。MD5 已被证实存在实用的碰撞攻击,不再具备抗碰撞能力,绝不能用于密码存储或数字签名。密码存储请用 bcrypt、scrypt 或 Argon2id 等专用口令哈希;完整性保护请用 SHA-256 或更强算法。文件校验等非对抗性场景仍然可用。

输入的内容会被上传或保存吗?

不会。计算全部在你的浏览器本地用 JavaScript 完成,输入的原文与生成的哈希都不会发送到服务器,可以放心处理敏感内容。

这个工具和"MD5加密"是一回事吗?

本质是同一个操作,但"MD5加密"是不严谨的说法:MD5 是哈希不是加密,没有密钥、不可逆。"加密"意味着可以解密还原,而 MD5 只能单向计算。本工具页面统一使用"哈希/计算"的准确表述。