MD4 哈希码计算器
已出版: 2025年2月16日 UTC 22:53:38
哈希码计算器使用消息摘要 4 (MD4) 哈希函数根据文本输入或文件上传计算哈希码。MD4(消息摘要 4)是 Ronald Rivest 于 1990 年设计的一种加密哈希函数。它从任意长度的输入生成固定的 128 位(16 字节)哈希值。MD4 现在被认为在加密上是被破解的,因为它存在允许碰撞攻击(找到产生相同哈希的两个不同输入)的漏洞,因此在设计新系统时不应使用它。它包含在这里以防需要生成向后兼容的哈希码。
完全披露:本页面使用的哈希函数的具体实现并不是我写的。它是 PHP 编程语言中的一个标准函数。我只是为了方便,制作了网络接口,以便在此公开使用。
关于 MD4 哈希算法
我不是数学家,所以我将尝试以一种非数学家同事能够理解的方式来解释这个哈希函数;-) 如果您更喜欢数学含量较高的解释,那么您可以在许多其他网站上找到它。
好吧,那么就把 MD4 想象成一台特殊的碎纸机吧。但它不是将纸张切碎,而是将任何信息(如信件、密码或书籍)“粉碎”成一张固定大小的小收据。无论您的信息有多大或多小,这台碎纸机总会给您一张长度恰好为 16 字节(128 位)或十六进制形式的 32 个字符的小收据。
为了正确地粉碎消息,您需要执行四个步骤:
步骤 1:准备信息
- 在粉碎之前,您必须调整纸张以使其完全适合粉碎机。
- 如果您的信息太短,您可以添加一些额外的空白区域(如涂鸦或填充物)以使纸张正好适合。
- 如果太长,可以将其分成多个相同大小的页面。
步骤 2:添加秘密印章
- 调整消息后,您可以在末尾添加一个秘密印章,表明原始消息的长度。
- 这有助于碎纸机跟踪邮件的原始大小,无论您添加了多少填充物。
步骤 3:粉碎过程(3 轮魔法)
- 现在这条信息已经被放进了碎纸机。
- 碎纸机有 4 个齿轮(A、B、C 和 D),它们以特殊的模式一起旋转。
- 齿轮旋转三圈,其作用如下:
- 混合词语
- 将一些部分翻转过来
- 像魔方一样旋转它们
- 将不同的碎片粉碎在一起
- 每一轮都会使信息看起来越来越杂乱,无法辨认。
第四步:最终收据
- 经过旋转、翻转和粉碎之后,碎纸机吐出一张收据——一串简短的数字和字母(哈希值)。
- 无论您撕碎了一个单词还是整本书,这张收据的长度始终相同!
不幸的是,随着时间的推移,人们发现这台神奇的碎纸机并不完美。一些聪明的人想出了如何欺骗碎纸机,让其对两封不同的消息给出相同的收据(这称为碰撞),并预测齿轮的旋转方式,然后用它来制作假收据。因此,MD4 不再被认为是重要信息的安全算法。