Miklix

MD2 哈希码计算器

已出版: 2025年2月16日 UTC 22:39:20

哈希码计算器使用消息摘要 2 (MD2) 哈希函数根据文本输入或文件上传计算哈希码。

为了使尽可能多的人能够访问本页面,本页面由英文机译而成。遗憾的是,机器翻译技术尚不完善,因此可能会出现错误。如果您愿意,可以在此处查看原始英文版本:

MD2 Hash Code Calculator

MD2(消息摘要 2)哈希函数是 Ronald Rivest 于 1989 年设计的一种加密哈希函数。它专门针对 8 位计算机进行了优化。虽然现在它被认为已经过时,并且对于加密目的来说并不安全,但为了便于计算向后兼容的哈希码,我们还是将其包含在这里。设计新系统时不应使用它。

完全披露:本页面使用的哈希函数的具体实现并不是我写的。它是 PHP 编程语言中的一个标准函数。我只是为了方便,制作了网络接口,以便在此公开使用。


计算新的哈希代码

通过本表格提交的数据或上传的文件在服务器上的保存时间仅限于生成所需的哈希代码。在结果返回到您的浏览器之前,这些数据将被立即删除。

输入数据:



提交的文本采用 UTF-8 编码。由于哈希函数对二进制数据进行运算,因此运算结果会与使用其他编码的文本不同。如果需要计算特定编码文本的哈希值,则应上传文件。



关于 MD2 哈希算法

我擅长简单的数学,但不是特别好,也绝不认为自己是数学家,所以我将尝试以非数学家能够理解的方式解释此哈希函数的工作原理。如果您更喜欢完整的数学版本,那么在网上的很多其他地方都很容易找到 ;-)

现在,假设您有一个食谱,它能将任何原料(您的信息)制成一块 16 块的小巧克力棒(哈希)。无论您的原料是什么,也无论它们有多大或多小,您最终都会得到相同大小的巧克力棒。

此食谱的目标是:

  1. 你无法仅通过观察巧克力就猜出它的成分。
  2. 即使成分上有微小的变化,巧克力的味道也会完全不同,所以你知道是否有人弄乱了成分或配方。

制作巧克力棒分为三个步骤:


步骤 1:填充信息(使成分合适)

假设你有一个篮子,里面正好有 16 个苹果(或配料)。但是如果你只有 14 个苹果怎么办?你需要再加 2 个才能装满篮子。如果不够,你只需添加额外的苹果即可。例如:

  • 如果还需要两个,就加两个苹果。
  • 如果您有超过 16 个,则需要填充下一个篮子。例如,如果您有 28 个,则添加 4 个以达到 32 个(2 乘以 16)。

这确保在我们进入下一步之前每个篮子都是装满的。


步骤 2:添加校验和(秘密成分列表)

现在,我们根据篮子里的所有东西创建一个秘密配料清单。

  • 你检查每个篮子,查看里面的苹果,并为每个苹果写下一个密码。
  • 这不仅仅是复制——这就像以一种奇怪的方式添加数字,这样即使有人偷偷溜进来改变苹果,列表看起来也是错误的。

此列表可帮助您稍后仔细检查成分是否被弄乱。


步骤 3:将所有材料混合在一起(魔术搅拌机)

现在到了最有趣的部分——混合!

  • 您有一个 48 槽搅拌机。
  • 你输入:
    1. 苹果(您的信息)。
    2. 一些以前的旧混合物(第一批开始是空的)。
    3. 前两者的混合。

然后你搅拌它。但不是只搅拌一次。你要搅拌 18 次,每次都改变速度和方向。这不是普通的搅拌——每次都以特殊的方式搅拌混合物,因此即使一个不同的苹果也会使整个巧克力的味道不同。


最后的巧克力棒(哈希)

混合均匀后,只需倒出混合物顶部的 16 块即可。这就是最终的巧克力棒 - MD2 哈希。它看起来一点也不像原来的苹果,如果你试图仅从巧克力中猜出原始成分,你永远也猜不到。

记住:

  • 相同的成分 = 相同的巧克力。
  • 即使换一个苹果=完全不同的巧克力。
  • 你无法回头——你无法仅从巧克力中找到原来的苹果。
分享至 Bluesky在 Facebook 上分享在 LinkedIn 上分享在 Tumblr 上分享分享至 X在 LinkedIn 上分享在Pinterest上固定

米克尔·邦·克里斯滕森

关于作者

米克尔·邦·克里斯滕森
迈克尔 是 miklix.com 的创建者和所有者。他拥有 20 多年的专业计算机程序员/软件开发人员经验,目前全职受雇于一家大型欧洲 IT 公司。不写博客时,他把业余时间花在各种兴趣、爱好和活动上,这在一定程度上反映在本网站涵盖的各种主题上。