MD4 哈希生成器
立即将任意文本转换为其 32 位字符的 MD4 哈希。
如何使用 MD4 哈希生成器
- 在输入框中键入或粘贴您的文本。
- MD4 哈希会随着输入实时显示。
- 点击“复制”即可获取结果。
关于 MD4 哈希生成器
MD4(Message Digest 4,消息摘要算法4)由罗纳德·里维斯特(Ronald Rivest)于1990年设计,生成一个128位摘要,写作32个十六进制字符。它真正的意义在于历史地位:MD4是MD5和SHA-1共同的设计模板。整个二十世纪九十年代到二十一世纪初盛行的、基于轮函数的快速Merkle–Damgård哈希算法谱系,都可以追溯到这一个设计——这也意味着它们继承了最终导致这些算法全部被攻破的弱点。
MD4已被彻底攻破。这不是“正在弱化”或“已过时”那么简单——在普通硬件上几乎可以瞬间找到碰撞,因此让两个不同的输入产生相同的MD4哈希值,只是一个简单的练习,而算不上什么研究成果。请勿将MD4用于密码、签名、完整性校验,或任何可能有人从伪造匹配中获利的场景。使用现代哈希算法完全没有额外成本:指纹计算用SHA-256,密码存储用bcrypt。
那么为什么每个加密库中仍然保留MD4?原因在于Windows。NTLM密码哈希的核心,本质上就是对以UTF-16LE编码的密码执行MD4运算——没有盐值,没有迭代次数,完全没有任何拖慢攻击者速度的机制。正是这一单一依赖,使MD4在企业网络中始终存在,并让它成为渗透测试和密码破解工作中的常客——这也是当今大多数人实际接触到MD4哈希的场景。
常见问题
我可以解密或还原 MD4 哈希吗?
不可以。哈希是单向的——原始文本并不包含在哈希值中。所谓“MD4解密器”其实是预先计算好的常见词哈希对照表,而且由于MD4速度快且不加盐,这类对照表的效果极为惊人——这正是MD4绝不能用于任何防护用途的原因。
MD4 和 NTLM 之间是什么关系?
NTLM哈希就是对以UTF-16LE编码的密码执行MD4运算得到的结果。如果您在这里以UTF-8编码对密码进行哈希,得到的结果不会是NTLM值——请使用我们的NTLM哈希生成器,它会先应用正确的编码方式。
为什么我的 MD4 哈希总是 32 个字符?
MD4始终输出128位,每个十六进制字符代表4位,因此无论输入多长,MD4哈希结果始终恰好是32个字符。
MD4 在哪些场景下是安全的?
在安全方面完全不安全。碰撞可以瞬间找到,因此任何可能有人试图欺骗的用途都不适用。它仅存在于像NTLM这样难以轻易更改的遗留协议中,以及作为旧软件中非对抗性场景下的普通校验和。
我的文本会被发送到其他地方吗?
您的文本会被发送到我们的服务器进行哈希计算,因为浏览器本身无法计算MD4。计算完成后会立即丢弃——绝不记录,也绝不存储。

