Miklix

MurmurHash3F 哈希码计算器

已出版: 2025年2月18日 UTC 00:28:22

哈希码计算器使用 MurmurHash3F 哈希函数根据文本输入或文件上传计算哈希码。

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

MurmurHash3F Hash Code Calculator

MurmurHash3 是一种非加密哈希函数,由 Austin Appleby 于 2008 年设计。由于其速度快、简单且分布性好,它被广泛用于通用哈希。MurmurHash 函数对于基于哈希的数据结构(如哈希表、布隆过滤器和数据重复数据删除系统)特别有效。

本页介绍的变体是 3F 变体,它针对 64 位系统进行了优化。它生成 128 位(16 字节)哈希码,通常表示为 32 位十六进制数。

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


计算新的哈希代码

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

输入数据:



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



关于 MurmurHash3F 哈希算法

我不是数学家,但我会尝试用我的非数学家同事能理解的类比来解释这个哈希函数。如果你更喜欢科学正确、完整的数学解释,我相信你可以在其他地方找到它 ;-)

现在,想象一下,你有一大盒乐高积木。每次你以特定的方式排列它们时,你都会拍一张照片。无论排列有多大或颜色有多鲜艳,相机总会给你一张小的固定尺寸的照片。这张照片代表了你的乐高作品,但形式紧凑。

MurmurHash3 对数据做了类似的事情。它获取任何类型的数据(文本、数字、文件),并将其缩小为一个小的固定“指纹”或哈希值。此指纹可帮助计算机快速识别、排序和比较数据,而无需查看整个数据。

另一个类比是烤蛋糕,而 MurmurHash3 是将蛋糕变成小杯形蛋糕(哈希)的配方。这将是一个三步过程:

步骤 1:切分数据(分解数据)

  • 首先,MurmurHash3 将您的数据切成相等的块,就像将蛋糕切成均匀的方块一样。

第 2 步:疯狂搅拌(混合块)

  • 每件作品都经过疯狂的混合过程:
    • 翻转:就像翻转煎饼一样,它会重新排列各个部分。
    • 搅拌:添加随机成分(数学运算)来混合物质。
    • 挤压:将数据挤压在一起以确保没有原始部分突出。

步骤 3:最终味道测试(定稿)

  • 混合所有块后,MurmurHash3 进行最后搅拌,以确保原始数据中哪怕是最微小的变化也会完全改变味道(哈希值)。

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

米克尔·邦·克里斯滕森

关于作者

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