Calculadora de código hash MurmurHash3C
Publicado: 18 de febrero de 2025, 0:33:55 UTC
Calculadora de código hash que utiliza la función hash MurmurHash3C para calcular un código hash basado en la entrada de texto o la carga de un archivo.MurmurHash3C Hash Code Calculator
MurmurHash3 es una función hash no criptográfica diseñada por Austin Appleby en 2008. Se utiliza ampliamente para el hash de propósito general debido a su velocidad, simplicidad y buenas propiedades de distribución. Las funciones MurmurHash son particularmente efectivas para estructuras de datos basadas en hash, como tablas hash, filtros Bloom y sistemas de deduplicación de datos.
La variante presentada en esta página es la variante 3C, que está optimizada para sistemas de 32 bits, al igual que la variante 3A. Sin embargo, a diferencia de la variante 3A, produce códigos hash de 128 bits (16 bytes), que normalmente se representan como un número hexadecimal de 32 dígitos.
Divulgación completa: Yo no escribí la implementación específica de la función hash utilizada en esta página. Es una función estándar incluida en el lenguaje de programación PHP. Sólo hice la interfaz web para ponerla a disposición del público aquí por conveniencia.
Acerca del algoritmo hash MurmurHash3C
No soy matemático, pero intentaré explicar esta función hash usando una analogía que mis colegas no matemáticos puedan entender. Si prefieres una explicación matemática completa y científicamente correcta, estoy seguro de que la puedes encontrar en otro lugar ;-)
Ahora, imagina que tienes una gran caja de piezas LEGO. Cada vez que las colocas de una manera específica, tomas una fotografía. No importa cuán grande o colorida sea la disposición, la cámara siempre te dará una foto pequeña y de tamaño fijo. Esa foto representa tu creación LEGO, pero en un formato compacto.
MurmurHash3 hace algo similar con los datos. Toma cualquier tipo de datos (texto, números, archivos) y los reduce a una pequeña "huella" fija o valor hash. Esta huella ayuda a las computadoras a identificar, ordenar y comparar datos rápidamente sin necesidad de mirar todo el conjunto.
Otra analogía sería la de hornear un pastel y MurmurHash3 es la receta para convertir ese pastel en un pequeño cupcake (el hash). Este sería un proceso de tres pasos:
Paso 1: Cortar en pedazos (dividir los datos)
- En primer lugar, MurmurHash3 divide los datos en partes iguales, como si cortara un pastel en cuadrados iguales.
Paso 2: Mezclar como loco (Mezclar los trozos)
- Cada pieza pasa por un proceso de mezcla salvaje:
- Voltear: es como darle la vuelta a un panqueque, reordena los trozos.
- Revolver: añade ingredientes al azar (operaciones matemáticas) para mezclar las cosas.
- Aplastamiento: presiona los datos para asegurarse de que ninguna pieza original sobresalga.
Paso 3: Prueba de sabor final (finalización)
- Después de mezclar todos los fragmentos, MurmurHash3 les da una última revuelta para garantizar que incluso la más mínima migaja de cambio en los datos originales cambie totalmente el sabor (el hash).