MD5 哈希生成器

请输入要哈希的文本。

输入文本并选择 MD5,工具会以 32 位十六进制字符返回其 128 位摘要。同一次运行还会列出 SHA-1、SHA-256、SHA-384、SHA-512 和 CRC32 摘要,方便你复制需要的那一个。

如何生成 MD5 哈希值

  1. 1

    输入文本

    粘贴或输入要计算的字符串。每个字符都会计入,包括空格和换行。

  2. 2

    选择 MD5

    在算法列表中选择 MD5。默认已选中 SHA-256,所以请先改为 MD5 再继续。

  3. 3

    生成哈希值

    点击生成按钮。MD5 摘要会以 32 位小写十六进制字符显示。

  4. 4

    复制摘要

    点击 MD5 结果旁边的复制按钮,粘贴到需要的地方。

MD5 哈希值的样子

无论输入是一个字母还是整章文字,MD5 始终输出 128 位,写成 32 位十六进制字符。相同的输入总会得到相同的输出,而只改动一个字符,摘要就会完全不同。

输入 MD5 摘要
hello 5d41402abc4b2a76b9719d911017c592
Hello 8b1a9953c4611296a827abf8c47804d7
hello world 5eb63bbbe01eeed093cb22bb8f5acdc3

前两行之间只有首字母不同,但两个摘要没有任何相似之处。这正是任何哈希函数都应具备的雪崩效应。

MD5 仍在使用的场景

  • 缓存键与 ETag: 用于为字符串或响应正文生成简短、稳定的指纹。
  • 去重: 两段相同的文本会得到相同的摘要,比较 32 个字符比比较长篇内容更省事。
  • 遗留系统: 一些较旧的数据库、接口和数据源仍存储或要求 MD5 值,你需要精确复现这个值。
  • 偶发损坏检查: 摘要一致时,传输出错的可能性非常低。

不应使用 MD5 的场景

针对 MD5 的实际碰撞攻击自 2004 年起就已为人所知,这意味着攻击者可以构造两个不同的输入,得到相同的摘要。不要将它用于签名、证书,或任何可能被伪造的场合。密码应使用 bcrypt 或 Argon2id 这类加盐且速度较慢的函数,而不是普通的 MD5。新项目如有选择,请使用 SHA-256。

对准确的字节进行哈希

摘要是基于文本的 UTF-8 字节计算的。结尾多一个空格或换行都会改变结果:hello 后面加一个换行的 MD5 是 b1946ac92492d2347c6235b4d2611184,而不是上表中的值。如果你的摘要与其他系统不一致,请先检查是否有看不见的空白字符。

MD5 与其他摘要对比

算法 位数 十六进制字符数
CRC32 32 8
MD5 128 32
SHA-1 160 40
SHA-256 256 64
SHA-512 512 128

主结果下方的完整列表会显示你的文本对应的所有摘要,便于查看长度差异,并在接收方系统允许时复制更强的摘要。只有在核对别人提供的 MD5 值时,才必须使用 MD5,而本工具会精确复现该值。

常见问题

始终为 32 位十六进制字符,即 128 位。长度与输入大小无关。

不能通过计算还原。MD5 是单向的。短小或常见的字符串可以通过对候选值求哈希并比对来猜出,因此不加盐的 MD5 不适合用于保存密码。

通常是因为末尾多了换行、多了空格,或文本编码不同。本工具会对你输入的内容的 UTF-8 字节进行哈希。

不可以。它只对你输入的文本进行哈希。文件请使用操作系统自带的校验和命令。

相关工具

此工具还提供其他语言版本

使用指南与应用场景