Skip to main content
UFOZoo

MD4哈希计算器 Merkle-Damgård早期算法

MD4 哈希计算器,MD5 的直接前身,128 位输出。Merkle-Damgård 哈希结构的早期设计,三轮处理。已被碰撞攻击破解。

更新于 2026-08-16

相关工具

功能特性

  • 在线计算 MD4 哈希值,MD5 的直接前身,128 位输出
  • 实时计算,32 个十六进制字符输出
  • 一键复制、保存为 .txt 文件,支持大小写模式
  • 探索 MD2 到 MD5 之间这个已被破解的中间演化步骤
  • 支持 MD4 校验和比对
  • 哈希比对工具:粘贴预期 32 字符 MD4 哈希即时验证匹配
  • 实时输入长度显示:字符数和字节数与哈希同步展示
  • 跨平台浏览器访问:任何设备均可研究 MD4,无需安装密码学库

使用方法

  1. 1在上方输入框中输入或粘贴文本。
  2. 2哈希摘要即时显示,无需刷新页面。
  3. 3切换大小写按钮改变十六进制输出格式。
  4. 4点击复制图标将哈希值复制到剪贴板,或使用保存保存为 .txt 文件。
  5. 5在校验栏粘贴预期哈希值即可比对。
  6. 6如何追溯哈希算法演进:在本站的 MD2、MD4 和 MD5 工具中输入相同文本,比较 32 字符输出,观察三代算法的内部结构变化。
  7. 7如何验证旧版 NTLM 哈希:Windows NTLM v1 内部使用 MD4。输入密码后粘贴 NTLM 哈希到校验栏验证旧版兼容性。
  8. 8如何研究 MD4 的三轮结构:输入单字节观察输出,再尝试更长输入以了解三轮各自如何处理数据。
  9. 9如何比较抗碰撞能力:MD4 碰撞如今极易找到,输入两段不同文本观察差异:碰撞攻击通过找到两个相同输出而打破这一点。
  10. 10如何将 MD4 用于密码分析教育:尝试改变输入,把多个输出保存为 .txt 文件构建数据集,观察微小输入变化如何传播到整个哈希。

常见问题

什么是 MD4?

MD4 由 Ron Rivest 于 1990 年设计,输出 128 位摘要。是 MD5 的直接前身,引入了影响后续所有哈希算法的设计概念。(参见:RFC 1320)

MD4 和 MD5 有什么区别?

MD5 增加了一个额外轮次并改进内部结构以修复 MD4 的弱点。MD4 三轮,MD5 四轮,都输出 128 位。

MD4 安全吗?

不安全。MD4 已被严重破解,碰撞攻击可在微秒内实现。人为制造碰撞极其容易,不应在任何场景使用。

为什么今天还研究 MD4?

仅限旧系统互操作性和密码分析学教育。Windows 中某些极旧的 NTLM 变体内部使用 MD4。

MD4 之后发展出了什么?

1992 年的 MD5,然后是 SHA 系列。两者代表不同的设计路线,但都受到 MD4 开创性 Merkle-Damgard 方法的影响。

MD4 是如何被破解的?

MD4 于 1995 年被 Dobbertin 以高概率找到碰撞而破解。如今在现代硬件上使用高级差分密码分析技术可在微秒内找到碰撞。

MD4 输出长度?

MD4 产生 128 位(16 字节)哈希,显示为 32 个十六进制字符,与输入大小无关。(参见:RFC 1320)

MD4 结构如何工作?

MD4 在 32 位字上使用三轮各 16 次操作(共 48 次),采用 Merkle-Damgard 结构。与 MD5 不同,它使用更简单的非线性函数,没有最终轮。

MD4 与 NTLM v1 有关吗?

是的。Windows NTLM v1 使用 MD4 对密码做哈希。虽然微软已弃用 NTLM v1,一些遗留企业环境可能仍使用此协议及其 MD4 依赖。

密码学家从 MD4 的失败中学到了什么?

MD4 的崩溃表明,简单的消息扩展和不充足的轮次使哈希易受差分密码分析攻击。这直接导致了 MD5 的额外轮次和更复杂的操作。

MD4 输出能被截断吗?

MD4 技术上只输出完整的 128 位。对于更短的哈希,密码学家转向 SHA-1(160 位)和 SHA-224(224 位),而非截断 MD4 输出。

MD4 比现代哈希快但安全性差的原因?

MD4 仅用 48 次简单操作产生 128 位输出。SHA-256 用 64 次更复杂的操作为两倍输出尺寸哈希。现代哈希通过更多轮次和更好的扩散特性以速度换取安全。

为什么 MD4 哈希无法逆向或解密?

MD4 是单向函数:摘要不是输入的加密结果,而是固定长度的指纹,数学上不存在逆运算。还原输入只能靠暴力破解或彩虹表,这也是为什么弱密码的未加盐哈希可以被破解。正因如此,它用于完整性校验和密码存储(加盐),而不是用于隐藏内容。

为什么不能用 md4 在线生成器验证文件下载的完整性?

没有发行方会发布 MD4 校验和:MD4 早已被破解,所有发行版都改用 SHA-256(历史上用过 MD5)。即使存在 MD4 校验和,由于构造碰撞轻而易举,它也无法防止篡改。验证下载请用 SHA-256:Linux/macOS 用 sha256sum 文件,Windows PowerShell 用 Get-FileHash 文件 -Algorithm SHA256。

为什么同一个密码的 NTLM 哈希和 md4 哈希看起来不一样?

NTLM 并不是对你输入的 UTF-8 文本做哈希,而是对密码的 UTF-16LE 编码做哈希:所以即使 NTLM v1 内部确实使用 MD4,MD4('password') 与 NTLM 哈希也不同。想复现 NTLM 哈希,需要先把密码转成 UTF-16LE 再哈希。这也解释了为什么拿 hash vs md5 简单对比会误导人:摘要不同往往意味着输入编码不同,而不是算法家族不同。