Esta herramienta en línea permite generar el hash murmur3c de cualquier cadena de texto.
La longitud MURMUR3C es de 32 caracteres
Hash disponible
MD2 Hash, MD4 Hash, MD5 Hash, SHA1 Hash, SHA224 Hash, SHA256 Hash, SHA384 Hash, SHA512/224 Hash, SHA512/256 Hash, SHA512 Hash, SHA3-224 Hash, SHA3-256 Hash, SHA3-384 Hash, SHA3-512 Hash, RIPEMD128 Hash, RIPEMD160 Hash, RIPEMD256 Hash, RIPEMD320 Hash, WHIRLPOOL Hash, TIGER128,3 Hash, TIGER160,3 Hash, TIGER192,3 Hash, TIGER128,4 Hash, TIGER160,4 Hash, TIGER192,4 Hash, SNEFRU Hash, SNEFRU256 Hash, GOST Hash, GOST-CRYPTO Hash, ADLER32 Hash, CRC32 Hash, CRC32B Hash, CRC32C Hash, FNV132 Hash, FNV1A32 Hash, FNV164 Hash, FNV1A64 Hash, JOAAT Hash, MURMUR3A Hash, MURMUR3C Hash, MURMUR3F Hash, XXH32 Hash, XXH64 Hash, XXH3 Hash, XXH128 Hash, HAVAL128,3 Hash, HAVAL160,3 Hash, HAVAL192,3 Hash, HAVAL224,3 Hash, HAVAL256,3 Hash, HAVAL128,4 Hash, HAVAL160,4 Hash, HAVAL192,4 Hash, HAVAL224,4 Hash, HAVAL256,4 Hash, HAVAL128,5 Hash, HAVAL160,5 Hash, HAVAL192,5 Hash, HAVAL224,5 Hash, HAVAL256,5 Hash,
¿Qué es Murmur3C?
Murmur3C es la versión de 128 bits del algoritmo MurmurHash3. Mientras que Murmur3A está diseñado para valores hash de 32 bits, Murmur3C genera un resumen de 128 bits. Está diseñado específicamente para gestionar conjuntos de datos más grandes y proporcionar un espacio de hash significativamente mayor, lo cual es esencial para aplicaciones en las que la probabilidad de colisiones debe mantenerse extremadamente baja, incluso cuando se manejan miles de millones de claves. Al igual que su homólogo de 32 bits, es una función hash no criptográfica optimizada para tablas hash de alto rendimiento.
¿Cómo funciona el hash Murmur3C?
Murmur3C amplía la lógica de mezcla de la familia MurmurHash3 para dar cabida a estados internos más grandes:
- Inicialización: Utiliza una semilla de 32 bits, que luego se expande al estado interno de 128 bits.
- Procesamiento de 128 bits: Los datos de entrada se procesan en bloques de 16 bytes (128 bits). Utiliza una combinación de multiplicaciones de 64 bits, rotaciones de bits y operaciones XOR para mezclar los datos.
- Gestión del estado: Mantiene cuatro registros de 32 bits (un total de 128 bits) que se actualizan de forma independiente a medida que se consumen los datos.
- Finalización: El paso de finalización realiza una serie de operaciones de «avalancha» (mezclando los bits a fondo) en todo el estado de 128 bits para garantizar que cada bit de entrada afecte a cada bit de salida.
Diferencia entre Murmur3C y Murmur3A
La principal distinción entre las dos variantes radica en el ancho de bits y el caso de uso previsto:
- Espacio hash: Murmur3C proporciona un hash de 128 bits (lo que permite $2^{128}$ valores posibles), mientras que Murmur3A proporciona un hash de 32 bits ($2^{32}$ valores). Murmur3C es prácticamente inmune a las colisiones para la mayoría de los conjuntos de datos de aplicaciones estándar.
- Rendimiento: Murmur3A es ligeramente más rápido y consume menos memoria porque opera con registros de 32 bits. Murmur3C requiere aritmética de 64 bits para procesar bloques de 128 bits, lo que lo hace ligeramente más intensivo en términos computacionales.
- Caso de uso: Murmur3A es ideal para mapas hash estándar de alta velocidad en los que 32 bits de entropía son suficientes. Murmur3C es la opción preferida para sistemas distribuidos a gran escala, indexación de bases de datos y escenarios en los que la integridad de los datos y la prevención de colisiones son primordiales.