MD2 哈希码计算器
已出版: 2025年2月16日 UTC 22:39:20
哈希码计算器使用消息摘要 2 (MD2) 哈希函数根据文本输入或文件上传计算哈希码。MD2(消息摘要 2)哈希函数是 Ronald Rivest 于 1989 年设计的一种加密哈希函数。它专门针对 8 位计算机进行了优化。虽然现在它被认为已经过时,并且对于加密目的来说并不安全,但为了便于计算向后兼容的哈希码,我们还是将其包含在这里。设计新系统时不应使用它。
完全披露:本页面使用的哈希函数的具体实现并不是我写的。它是 PHP 编程语言中的一个标准函数。我只是为了方便,制作了网络接口,以便在此公开使用。
关于 MD2 哈希算法
我擅长简单的数学,但不是特别好,也绝不认为自己是数学家,所以我将尝试以非数学家能够理解的方式解释此哈希函数的工作原理。如果您更喜欢完整的数学版本,那么在网上的很多其他地方都很容易找到 ;-)
现在,假设您有一个食谱,它能将任何原料(您的信息)制成一块 16 块的小巧克力棒(哈希)。无论您的原料是什么,也无论它们有多大或多小,您最终都会得到相同大小的巧克力棒。
此食谱的目标是:
- 你无法仅通过观察巧克力就猜出它的成分。
- 即使成分上有微小的变化,巧克力的味道也会完全不同,所以你知道是否有人弄乱了成分或配方。
制作巧克力棒分为三个步骤:
步骤 1:填充信息(使成分合适)
假设你有一个篮子,里面正好有 16 个苹果(或配料)。但是如果你只有 14 个苹果怎么办?你需要再加 2 个才能装满篮子。如果不够,你只需添加额外的苹果即可。例如:
- 如果还需要两个,就加两个苹果。
- 如果您有超过 16 个,则需要填充下一个篮子。例如,如果您有 28 个,则添加 4 个以达到 32 个(2 乘以 16)。
这确保在我们进入下一步之前每个篮子都是装满的。
步骤 2:添加校验和(秘密成分列表)
现在,我们根据篮子里的所有东西创建一个秘密配料清单。
- 你检查每个篮子,查看里面的苹果,并为每个苹果写下一个密码。
- 这不仅仅是复制——这就像以一种奇怪的方式添加数字,这样即使有人偷偷溜进来改变苹果,列表看起来也是错误的。
此列表可帮助您稍后仔细检查成分是否被弄乱。
步骤 3:将所有材料混合在一起(魔术搅拌机)
现在到了最有趣的部分——混合!
- 您有一个 48 槽搅拌机。
- 你输入:
- 苹果(您的信息)。
- 一些以前的旧混合物(第一批开始是空的)。
- 前两者的混合。
然后你搅拌它。但不是只搅拌一次。你要搅拌 18 次,每次都改变速度和方向。这不是普通的搅拌——每次都以特殊的方式搅拌混合物,因此即使一个不同的苹果也会使整个巧克力的味道不同。
最后的巧克力棒(哈希)
混合均匀后,只需倒出混合物顶部的 16 块即可。这就是最终的巧克力棒 - MD2 哈希。它看起来一点也不像原来的苹果,如果你试图仅从巧克力中猜出原始成分,你永远也猜不到。
记住:
- 相同的成分 = 相同的巧克力。
- 即使换一个苹果=完全不同的巧克力。
- 你无法回头——你无法仅从巧克力中找到原来的苹果。