#️⃣ MD5 哈希生成器

从文本生成 MD5 哈希。注意:MD5 不再安全,仅用于校验。

关于 MD5 哈希生成器

这个 MD5 哈希生成器完全在你的浏览器中运行。在上面的输入框中输入或粘贴任意文本,点击生成即可计算其 MD5 摘要——一个 32 位的十六进制字符串。整个计算通过 JavaScript 在本地完成,不会上传任何数据。

⚠ 安全提示:MD5 在密码学意义上已被破解。在现代硬件上几秒钟就能找到碰撞。本工具仅用于校验、指纹或遗留兼容——切勿用于密码存储、数字签名或任何安全敏感场景。如需安全哈希,请使用 SHA-256 或更强算法,或采用 bcrypt/scrypt/Argon2 等慢速 KDF。

什么是 MD5?

MD5(Message Digest 5,消息摘要算法第 5 版)是 Ronald Rivest 于 1991 年设计的知名哈希函数。它接受任意长度输入,生成 128 位(16 字节)指纹,通常以 32 字符十六进制字符串呈现。算法使用四个非线性函数(F、G、H、I)、64 轮运算以及由正弦函数派生的 64 项常量表。

常见用途

  • 文件校验 —— 通过比对发布的 MD5 值,验证下载或传输后的文件完整性。
  • 数据指纹 —— 在非安全场景下快速识别重复内容或检测变更。
  • 缓存键 —— 为缓存查找或内容寻址存储生成短标识符。
  • 遗留系统 —— 部分老协议和数据库内部仍在使用 MD5。
  • ETag 头 —— Web 服务器历史上常用 MD5 生成 HTTP ETag 值。

已知测试向量

你可以用以下标准测试值验证实现的正确性:

  • md5("") = d41d8cd98f00b204e9800998ecf8427e
  • md5("a") = 0cc175b9c0f1b6a831c399e269772661
  • md5("hello") = 5d41402abc4b2a76b9719d911017c592
  • md5("The quick brown fox jumps over the lazy dog") = 9e107d9d372bb6826bd81d3542a419d6

常见问题

MD5 可以逆向吗? 不可以。MD5 是单向函数,无法从哈希恢复原始输入,只能验证某输入是否会产生已知哈希。

我的输入会上传吗? 不会。所有哈希计算都在你的浏览器中通过 JavaScript 完成,文本永远不会离开你的设备。

为什么不能用 MD5 存密码? MD5 速度极快——现代 GPU 每秒可计算数十亿次,且碰撞极易产生。存密码请使用专用慢速哈希(bcrypt、scrypt、Argon2),让暴力破解在计算上不可行。

支持 UTF-8 吗? 支持。输入会先编码为 UTF-8 字节再哈希,非 ASCII 字符可正确处理。