Miklix

HAVAL-128/3 哈希码计算器

已出版: 2025年2月18日 UTC 19:53:59
最后更新 2026年1月12日 UTC 13:40:00

使用 HAVAL-128/3 可变长度哈希函数计算哈希码,该哈希函数根据文本输入或文件上传计算哈希码。

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

HAVAL-128/3 Hash Code Calculator

HAVAL(可变长度哈希)是由郑玉良、Josef Pieprzyk 和 Jennifer Seberry 于 1992 年设计的一种加密哈希函数。它是 MD(消息摘要)系列的扩展,其设计灵感主要来源于 MD5,但在灵活性和安全性方面有显著提升。HAVAL 可以生成长度从 128 位到 256 位不等的哈希码,数据处理周期为 3 轮、4 轮或 5 轮。

本页展示的变体输出一个经过 3 轮计算的 128 位(16 字节)哈希码。结果以 32 位十六进制数的形式输出。

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


计算新的哈希代码

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

输入数据:



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



关于哈弗哈希算法

想象一下,HAVAL 就像一台超级强大的搅拌机,它能将各种成分(你的数据)彻底混合,以至于没有人能仅凭最终的冰沙(混合物)就找出原始配方。

第一步:准备素材(您的数据)

当你向哈弗提供一些数据(例如消息、密码或文件)时,它不会直接将其原封不动地放入处理程序中。首先,它会:

  • 清理数据并将其分割成整齐的小块(这称为填充)。
  • 确保食材总大小与搅拌机完全匹配(例如,确保冰沙食材均匀地装满搅拌杯)。

步骤二:多次混合(搅拌)

哈弗不会只按一次“混合”键。它会将你的数据混合 3、4 或 5 次——就像多次搅拌冰沙以确保每个颗粒都被粉碎一样。

  • 次:快速混合(速度快但不太安全)。
  • 5 次传递:一种非常彻底的混合(速度较慢但更安全)。

每一轮都以不同的方式混合数据,使用特殊的“刀片”(数学运算)以疯狂、不可预测的方式切碎、翻转、搅拌和混合数据。

步骤 3:秘诀(压缩功能)

在搅拌过程中,哈弗还会加入其秘制配方——一些特殊的调料,让最终的口感更加丰富。这一步骤确保即使您的数据发生微小的变化(例如密码中的一个字母),最终的果昔也会截然不同。

第四步:最后的冰沙(哈希)

经过一番搅拌后,哈弗将你最终的“冰沙”倒了出来。

  • 这是哈希值——您数据的唯一指纹。
  • 无论原始数据大小如何,哈希值的大小始终保持不变。这就像把任何大小的水果放进搅拌机,最终得到的冰沙大小都一样。

截至 2025 年,只有 HAVAL-256/5 仍被认为在加密方面具有合理的安全性,但您在设计新系统时不应使用它。如果您仍在旧系统中使用它,目前不会面临任何直接风险,但从长远来看,请考虑迁移到例如 SHA3-256 等算法。

进一步阅读

如果您喜欢这篇文章,您可能还会喜欢这些建议:


分享至 Bluesky在 Facebook 上分享在 LinkedIn 上分享在 Tumblr 上分享分享至 X在 LinkedIn 上分享在Pinterest上固定

Mikkel Christensen

关于作者

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