CoderTools

Generador de Hash FNV

Función hash no criptográfica Fowler-Noll-Vo

Acerca del Hash FNV

¿Qué es el Hash FNV?

FNV (Fowler-Noll-Vo) es una función hash no criptográfica creada por Glenn Fowler, Landon Curt Noll y Kiem-Phong Vo. Fue publicada por primera vez en 1991 y es conocida por su simplicidad, velocidad y buenas propiedades de distribución. FNV se utiliza ampliamente en tablas hash, sumas de verificación y huellas de datos.

Variantes del algoritmo

  • FNV-1a: La variante mejorada que primero hace XOR del byte con el hash, luego multiplica. Recomendada para la mayoría de los casos de uso debido a mejores características de avalancha.
  • FNV-1: La variante original que primero multiplica, luego hace XOR. Aún útil pero generalmente se prefiere FNV-1a.

Longitudes de bits disponibles

  • 32-bit: Salida hexadecimal de 8 caracteres. Rápido y adecuado para tablas hash con tamaños de datos moderados.
  • 52-bit: Salida hexadecimal de 13 caracteres. Optimizado para el rango de enteros seguros de 53 bits de JavaScript. Buen equilibrio entre velocidad y resistencia a colisiones.
  • 64-bit: Salida hexadecimal de 16 caracteres. Mayor espacio hash para reducir la probabilidad de colisiones en grandes conjuntos de datos.

Casos de uso comunes

  • Tablas hash y mapas para búsquedas rápidas de claves
  • Deduplicación de datos y huella de contenido
  • Verificación de suma de comprobación para integridad de datos
  • Filtros Bloom y estructuras de datos probabilísticas

El hash FNV no es criptográficamente seguro. No lo use para contraseñas, firmas digitales o aplicaciones sensibles a la seguridad. Para casos de uso criptográficos, use SHA-256 o BLAKE2.

Herramientas Relacionadas