什么是 MD5?
MD5(Message-Digest Algorithm 5)是一种密码学哈希函数,把任意长度的输入映射为固定 128 位(32 个十六进制字符)的摘要。它是单向的:从原文可以算出哈希,但无法从哈希还原原文。相同输入永远得到相同输出,哪怕只改动一个字符,结果也会完全不同。
本工具按 UTF-8 编码计算字节序列的 MD5——中文、emoji、换行与空格都参与计算。如果你在其他工具得到不同结果,先检查双方是否使用相同编码(例如 GBK 与 UTF-8 的中文哈希必然不同)。
输入文本即实时生成 32 位与 16 位(大写、小写)四种 MD5 哈希格式,支持中文与 emoji(UTF-8 编码),每个结果一键复制。全部在你的浏览器本地计算,原文不会上传。
"16位"并非另一种算法,而是 32 位结果的中间 16 个字符(第 9–24 位),常见于部分旧系统的截短用法。上两行结果为大写、下两行为小写。
🔒 隐私说明:本工具的 MD5 计算全部在你的浏览器本地完成,输入的原文与结果不会上传到服务器。
MD5(Message-Digest Algorithm 5)是一种密码学哈希函数,把任意长度的输入映射为固定 128 位(32 个十六进制字符)的摘要。它是单向的:从原文可以算出哈希,但无法从哈希还原原文。相同输入永远得到相同输出,哪怕只改动一个字符,结果也会完全不同。
本工具按 UTF-8 编码计算字节序列的 MD5——中文、emoji、换行与空格都参与计算。如果你在其他工具得到不同结果,先检查双方是否使用相同编码(例如 GBK 与 UTF-8 的中文哈希必然不同)。
MD5 已存在实用的碰撞攻击方法,不再具备安全保证。它仍适合"非对抗性"场景,但请勿用于任何需要抵御恶意篡改或保护口令的地方:
MD5 是一种密码学哈希函数,把任意长度的文本映射为固定 32 个十六进制字符(128 位)的摘要。它是单向的:能从原文算出哈希,但不能从哈希还原原文;相同输入永远得到相同输出。
不能。MD5 是单向哈希而非加密,本身不可逆。网上的"MD5解密"网站只是用预先计算好的彩虹表查询常见字符串,查不到就无能为力。正因为可被彩虹表和碰撞攻击针对,MD5 不应用于密码存储。
完整 MD5 是 32 个十六进制字符。"16位"不是另一种算法,而是取 32 位结果的中间 16 个字符(第 9–24 位),是部分旧系统的截短惯例。例如 abc 的 32 位值是 900150983cd24fb0d6963f7d28e17f72,16 位值是 3cd24fb0d6963f7d。
哈希计算的是字节序列,同一文本在不同编码下的字节不同。本工具统一使用 UTF-8;若某工具使用 GBK 等编码,中文结果必然不同。emoji 只在 UTF-8 等编码下有效,出现差异时先核对编码与是否多算/漏算了空格、换行。
不安全。MD5 已被证实存在实用的碰撞攻击,不再具备抗碰撞能力,绝不能用于密码存储或数字签名。密码存储请用 bcrypt、scrypt 或 Argon2id 等专用口令哈希;完整性保护请用 SHA-256 或更强算法。文件校验等非对抗性场景仍然可用。
不会。计算全部在你的浏览器本地用 JavaScript 完成,输入的原文与生成的哈希都不会发送到服务器,可以放心处理敏感内容。
本质是同一个操作,但"MD5加密"是不严谨的说法:MD5 是哈希不是加密,没有密钥、不可逆。"加密"意味着可以解密还原,而 MD5 只能单向计算。本工具页面统一使用"哈希/计算"的准确表述。