Saltar al contenido
uencoder

FNV

FNV (Fowler-Noll-Vo) es un hash no criptográfico simple que se calcula rápido mediante XOR y multiplicación por un primo, usado en tablas hash y huellas digitales.

Propósito

Proporcionar un hash no criptográfico de sobrecoste mínimo, apto para distribuir claves en tablas hash y calcular huellas rápidas.

Mecanismo

FNV-1: hash = (hash × FNV_prime) ⊕ byte; FNV-1a: hash = (hash ⊕ byte) × FNV_prime. La base de desplazamiento y el primo dependen de la anchura de palabra (p. ej., FNV-1a de 32 bits usa 2166136261 y 16777619). No criptográfico, sin resistencia a colisiones.

Casos de uso

  • Distribución de claves en tablas hash
  • Huellas de deduplicación rápidas
  • Hashes de enrutado de URL
  • Checksums sin requisitos de seguridad

Ejemplos

  • entrada
    hello
    Output
    0x4f9f2cab

    FNV-1a 32-bit

Errores comunes

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

Términos relacionados

Herramientas relacionadas

References