哈希与安全

xxHash 生成器

即时计算任意文本的 xxHash32、xxHash64 或 XXH3 哈希。

给这个工具评分

如何使用 xxHash 生成器

  1. 在输入框中键入或粘贴您的文本。
  2. 选择变体——xxHash64 是不错的通用默认选项,XXH3 则是更新、更快的版本。
  3. 哈希值会随输入实时显示;点击“复制”即可获取。

关于 xxHash 生成器

xxHash 由 Yann Collet 创建,他同时也是 LZ4 和 Zstandard 压缩算法的作者——这个渊源正好说明了它的设计目标。当你以每秒数吉字节的速度压缩数据时,普通哈希会成为整条流水线中最慢的一环。xxHash 的存在,就是为了成为那个瓶颈:它的设计目标是尽可能接近 CPU 从内存中读取字节本身的速度,实际效果是比 CRC-32MD5 快上好几倍,同时依然能通过标准的分布统计质量测试。

这里有两代版本。xxHash32(8 个十六进制字符)和 xxHash64(16 个字符)是最初的函数,稳定、可移植,且被广泛实现——如果你需要一个能被其他库识别的结果,xxHash64 是明智的默认选择。XXH3 是更新的重新设计版本,速度更快,在输入上提升尤为明显,而这恰恰是旧版本最薄弱、也是哈希表最常遇到的场景。XXH3 有 64 位形式(16 个字符)和 128 位形式(32 个字符);当你需要为数量极其庞大的项目生成指纹、并希望意外碰撞实际上不可能发生时,请选择 128 位版本。

xxHash 是去重、缓存键、内容指纹、压缩格式内部的完整性校验以及哈希表的主力工具——凡是需要处理大量数据、且哈希本身绝不能成为瓶颈的场景都适用。但它明确地不是密码学哈希。速度与抗攻击能力是相互对立的目标,而 xxHash 选择了速度:它完全没有试图阻止有人蓄意构造出两个哈希相同的输入。切勿将它用于密码、签名,或验证下载文件是否被篡改——那种场合请使用 SHA-256

常见问题

我应该使用哪种 xxHash 变体?

xxHash64 是最稳妥的通用默认选择,支持也最广泛。如果你能同时控制两端、并希望获得最高速度(尤其是在短输入上),可以选择 XXH3;当你要为海量项目生成指纹时,请选择 XXH3-128。

xxHash 比 MD5 快多少?

快得多——xxHash 的设计目标是接近内存读取速度,而 MD5 每字节要做的运算多得多。确切倍数取决于你的 CPU 和输入大小,但 xxHash 完全属于另一个性能量级。

xxHash 安全吗?

不安全。它是一种纯粹为速度和良好分布而设计的非密码学哈希。切勿将它用于密码、数字签名或检测蓄意篡改——碰撞可以被蓄意构造出来。

xxHash64 和 XXH3-64 有什么区别?

两者都输出 16 个十六进制字符,但它们是不同的算法,结果也不同。XXH3 是更新的设计,速度更快,在小输入上尤为明显。两者不可互换。

我的文本会被发送到别处吗?

您的文本会被发送到我们的服务器进行哈希计算,因为浏览器无法计算 xxHash。计算完成后会立即丢弃——绝不记录,绝不存储。