本工具将输入文本以 UTF-8 计算,输出 128 位 MD5 摘要,也就是 32 个十六进制字符,供仍指定 MD5 的校验码、测试数据与旧系统使用。结果对不上时,先核对实际输入的大小写、空格、编码及换行形式;下方示例可分别检查 abc、末尾多一个 LF 换行,以及两个字「中文」。
MD5 是固定且单向的哈希,但抗碰撞能力已不足以支持安全流程。不要把它用于密码、签名或防篡改保护,这些场景应改用现代哈希或密码哈希方案。
关于这个主题的常见疑问与实用解答。
MD5 是一种 128 位哈希函数,产生 32 个字符的十六进制字符串。它通常用于校验码和数据完整性验证。
MD5 已不再被视为安全的密码哈希或加密用途。非密码的完整性检查可改用 SHA-256,密码存储则应使用 bcrypt、scrypt 或 Argon2 这类密码哈希算法。
不行,哈希函数是单向的。无法从哈希值推导出原始输入。
不会,MD5 哈希运算完全在您的浏览器中进行。您的输入文字通过 JavaScript 在本地处理,绝不会传送至任何服务器。
示例哈希每 8 字符分组显示,空格仅供阅读,比对时请移除。输入 abc、不加末尾换行,结果为 90015098 3cd24fb0 d6963f7d 28e17f72;同样文本后加一个 LF 换行,结果为 0bee89b0 7a248e27 c83fc3d5 951213c1。换行也是输入字节的一部分;其他工具可能使用 CRLF 而非 LF,比对前请核对实际文本、空格、大小写与换行形式。
本工具使用 UTF-8。输入两个字「中文」,不含引号、空格或末尾换行,MD5 结果为 a7bac223 9fcdcb3a 067903d8 077c4a07。示例每 8 字符分组,空格仅供阅读,比对时请移除。外部系统若使用 Big5、GBK 或其他编码,计算的字节就不同;看起来是相同文本,并不代表输入字节相同。
文件校验码计算的是文件的原始字节,本工具计算的是 UTF-8 文本;只有两者字节完全一致时,结果才会相同。字节顺序标记 (BOM)、其他编码或不同换行形式都可能造成差异。粘贴解码后的文本无法保留任意二进制文件的原始字节;要核对文件校验码,请使用直接读取原始文件字节的工具。