ToolConvoyToolConvoyv2.6
CODE

MD5 哈希 — 从文本生成 MD5 哈希值

从文本输入生成 MD5 哈希值。32 字符的十六进制摘要,全部在浏览器中完成——无需上传,无需与服务端往返。

● 本地运行 · 在内存中编码页面加载以来工具发出的网络请求:0 次

MD5 Hash Generator

Generate MD5 hashes from text. Works entirely in your browser using Web Crypto API.

MD5 是最著名的已被攻破的密码学哈希函数。它由 Ron Rivest 在 1991 年设计,作为面向文件完整性校验和数字签名的快速 128 位摘要,曾在此角色上服役十年。2004 年,由王小云领导的团队演示了首次碰撞攻击:两个不同的 128 字节输入产生相同的 MD5 哈希。2007 年,Marc Stevens 等人演示了选择前缀碰撞,让攻击者能创建两份内容不同(例如两张不同的 SSL 证书)但 MD5 哈希相同的文档。从那时起,MD5 在任何安全敏感的应用中被禁用,Web 已转向 SHA-256。

尽管在安全上已被攻破,MD5 因一个理由延续至今:它快速、简单,并深植于遗留系统之中。缓存键去重、非安全的文件完整性校验,以及仍要求 MD5 摘要的遗留 API,是 2026 年它仅存的三个合法用例。任何新系统,最低限度可接受的哈希函数是 SHA-256。密码哈希方面,最低是 cost factor 为 12 或更高的 bcrypt,或采用推荐内存和迭代参数的 Argon2id。MD5 用于密码自至少 2010 年起就已不可接受。

MD5 哈希工具用 Web Crypto API 在浏览器中计算摘要——若浏览器不支持该 API,则退回纯 JavaScript 的快速实现——并立即显示 32 字符的十六进制摘要。对比功能让你并排粘贴两个哈希,检查两段文本是否一致。当文件内容很重要的完整性校验场景,请用本网站的 SHA-256 工具,它直接在浏览器中读取文件的字节,无需上传。

广告

使用方法

  1. 输入你的文本

    键入或粘贴要哈希的文本。哈希值在你键入时实时更新。想粘贴文件路径?本工具对文本做哈希,不对文件——文件完整性校验请用 SHA-256。

  2. 复制 MD5 摘要

    32 字符的十六进制摘要立即出现,一键复制。输出默认是小写十六进制;如需大写输出,切换「uppercase」选项。

  3. 对比两个哈希

    把第二个哈希粘贴到「compare」字段,检查两段文本是否生成相同的 MD5 摘要。对比不区分大小写,并会高亮匹配或不匹配的结果。

常见问题

为什么不应该把 MD5 用于密码?

MD5 在密码学上已被攻破,绝不能用于哈希密码。2004 年就演示了能产出两个不同输入却拥有相同 MD5 哈希的碰撞攻击,2007 年又演示了选择前缀碰撞。密码哈希请用 bcrypt、scrypt 或 Argon2id——绝不要用 MD5。

MD5 现在还有什么用?

MD5 仍被用于非安全场景的校验和:核对文件是否意外损坏(不是故意篡改)、缓存键去重,以及与仍要求 MD5 摘要的遗留系统保持兼容。安全敏感的完整性校验请用 SHA-256。

输出是什么格式?

输出是 32 字符的小写十六进制字符串。MD5 产出 128 位(16 字节)的摘要,对应 32 个十六进制字符。需大写输出可在输出选项里切换「uppercase」。

能哈希文件吗?

不能。本工具只对你粘贴的文本字符串做哈希。文件哈希请用本网站的 SHA-256 工具,它直接在浏览器中读取文件的字节并哈希,无需上传——或者用操作系统的内置工具(macOS 用 `md5`,Windows 用 `CertUtil`,Linux 用 `md5sum`)。

「碰撞攻击」是什么意思?

碰撞是两个不同输入产生相同 MD5 哈希的情况。碰撞攻击是一种比随机猜测更快地故意寻找这种配对的方法。MD5 的抗碰撞性在 2004 年被王小云等人攻破,自此完全失效。这就是 MD5 只能用于遗留校验和、不能用于任何安全场景的原因。

限制说明

  • 不可用于密码学安全MD5 的抗碰撞性已被攻破。切勿把 MD5 用于密码存储、数字签名、SSL 证书,或任何攻击者可能尝试寻找匹配给定哈希的第二个输入的场景。请用 SHA-256 或现代的密码哈希算法。
  • 仅支持文本,不支持文件哈希哈希是对你粘贴的文本字符串计算的。文件哈希请用 SHA-256 工具,它直接在浏览器中读取文件字节。
  • 不支持 HMAC-MD5HMAC(基于哈希的消息认证码)将密钥与哈希函数配合使用。本工具只计算裸的 MD5 摘要。带密钥的 HMAC 请用专门的 HMAC 工具或库。

平台说明

macOS
macOS 终端命令是 `md5 -s 'your text'`,文件哈希用 `md5 filename`。无需打开终端就能临时做哈希时,浏览器工具是更合适的选择。
Windows
PowerShell 等价命令:`[System.BitConverter]::ToString([System.Security.Cryptography.MD5]::Create().ComputeHash([System.Text.Encoding]::UTF8.GetBytes('text')))`。一次性哈希场景下浏览器工具更便捷。
Linux
命令行等价命令是 `echo -n 'text' | md5sum`。当系统的 md5sum 不可用,或不想在 shell 历史里留下文本时,浏览器工具是临时哈希的正确选择。
Web
完全在客户端运行。不会产生任何网络请求。任意实用长度的文本,哈希计算都几乎是瞬时的。
广告
广告