跳到主要内容
uencoder

FNV

FNV(Fowler-Noll-Vo)是简单的非加密哈希,通过异或与素数乘法快速计算,用于哈希表与指纹。

用途

提供极低开销的非加密哈希,适合哈希表键分布与快速指纹。

机制

FNV-1: hash = (hash × FNV_prime) ⊕ byte;FNV-1a: hash = (hash ⊕ byte) × FNV_prime。初始 offset basis 与 prime 由位宽决定(如 FNV-1a 32 位用 2166136261 与 16777619)。非加密,不抗碰撞。

用例

  • 哈希表键分布
  • 快速去重指纹
  • URL 路由哈希
  • 非安全场景校验

示例

  • 输入
    hello
    输出
    0x4f9f2cab

    FNV-1a 32-bit

常见错误

Using FNV for cryptographic authentication
FNV is not cryptographic; use HMAC-SHA256

相关词条

相关工具

参考链接