MurmurHash3C 哈希码计算器
已出版: 2025年2月18日 UTC 00:34:29
哈希码计算器使用 MurmurHash3C 哈希函数根据文本输入或文件上传计算哈希码。为了使尽可能多的人能够访问本页面,本页面由英文机译而成。遗憾的是,机器翻译技术尚不完善,因此可能会出现错误。如果您愿意,可以在此处查看原始英文版本:
MurmurHash3C Hash Code Calculator
MurmurHash3C Hash Code Calculator
MurmurHash3 是一种非加密哈希函数,由 Austin Appleby 于 2008 年设计。由于其速度快、简单且分布性好,它被广泛用于通用哈希。MurmurHash 函数对于基于哈希的数据结构(如哈希表、布隆过滤器和数据重复数据删除系统)特别有效。
本页介绍的变体是 3C 变体,它针对 32 位系统进行了优化,与 3A 变体相同。但是,与 3A 变体不同的是,它生成 128 位(16 字节)哈希码,通常表示为 32 位十六进制数。
完全披露:本页面使用的哈希函数的具体实现并不是我写的。它是 PHP 编程语言中的一个标准函数。我只是为了方便,制作了网络接口,以便在此公开使用。
关于 MurmurHash3C 哈希算法
我不是数学家,但我会尝试用我的非数学家同事能理解的类比来解释这个哈希函数。如果你更喜欢科学正确、完整的数学解释,我相信你可以在其他地方找到它 ;-)
现在,想象一下,你有一大盒乐高积木。每次你以特定的方式排列它们时,你都会拍一张照片。无论排列有多大或颜色有多鲜艳,相机总会给你一张小的固定尺寸的照片。这张照片代表了你的乐高作品,但形式紧凑。
MurmurHash3 对数据做了类似的事情。它获取任何类型的数据(文本、数字、文件),并将其缩小为一个小的固定“指纹”或哈希值。此指纹可帮助计算机快速识别、排序和比较数据,而无需查看整个数据。
另一个类比是烤蛋糕,而 MurmurHash3 是将蛋糕变成小杯形蛋糕(哈希)的配方。这将是一个三步过程:
步骤 1:切分数据(分解数据)
- 首先,MurmurHash3 将您的数据切成相等的块,就像将蛋糕切成均匀的方块一样。
第 2 步:疯狂搅拌(混合块)
- 每件作品都经过疯狂的混合过程:
- 翻转:就像翻转煎饼一样,它会重新排列各个部分。
- 搅拌:添加随机成分(数学运算)来混合物质。
- 挤压:将数据挤压在一起以确保没有原始部分突出。
步骤 3:最终味道测试(定稿)
- 混合所有块后,MurmurHash3 进行最后搅拌,以确保原始数据中哪怕是最微小的变化也会完全改变味道(哈希值)。