CoderTools

FNV 哈希生成器

Fowler-Noll-Vo 非加密哈希函数

关于 FNV 哈希

什么是 FNV 哈希?

FNV(Fowler-Noll-Vo)是由 Glenn Fowler、Landon Curt Noll 和 Kiem-Phong Vo 创建的非加密哈希函数。它于 1991 年首次发布,以其简单性、速度和良好的分布特性而闻名。FNV 广泛用于哈希表、校验和和数据指纹。

算法变体

  • FNV-1a: 改进版变体,先将字节与哈希进行异或运算,然后相乘。由于雪崩特性更好,推荐用于大多数场景。
  • FNV-1: 原始变体,先相乘后异或。仍然有用,但通常首选 FNV-1a。

可用位长度

  • 32-bit: 8 字符十六进制输出。快速,适用于中等数据量的哈希表。
  • 52-bit: 13 字符十六进制输出。针对 JavaScript 的 53 位安全整数范围优化。在速度和抗碰撞性之间取得良好平衡。
  • 64-bit: 16 字符十六进制输出。更大的哈希空间,降低大型数据集中的碰撞概率。

常见用途

  • 哈希表和哈希映射,用于快速键查找
  • 数据去重和内容指纹
  • 数据完整性的校验和验证
  • 布隆过滤器和概率数据结构

FNV 哈希不是加密安全的。请勿将其用于密码、数字签名或安全敏感应用。加密用途请使用 SHA-256 或 BLAKE2。

相关工具