Questo strumento online ti consente di generare l'Hash murmur3f di qualsiasi stringa.
MURMUR3F è lungo 32 caratteri
Algoritmi hash disponibili
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,
Che cos'è Murmur3F?
Murmur3F (spesso definita come la versione a 64 bit di MurmurHash3) è una funzione hash non crittografica ad alte prestazioni, progettata specificamente per sfruttare le architetture delle CPU a 64 bit. Sebbene anche Murmur3C produca un hash a 128 bit, Murmur3F è ottimizzato per elaborare gli input in blocchi a 64 bit anziché a 32 bit. Questo la rende la scelta più efficiente per i processori moderni quando è richiesto un hashing ad alta velocità e su larga scala, mantenendo le stesse proprietà non crittografiche e resistenti alle collisioni del resto della famiglia MurmurHash3.
Come funziona l'hash Murmur3F?
Murmur3F utilizza operazioni a 64 bit per massimizzare la velocità di elaborazione:
- Inizializzazione: inizia con un seme a 64 bit, espanso nello stato interno.
- Elaborazione a 64 bit: L'input viene elaborato in blocchi da 8 byte (64 bit). Utilizza moltiplicatori a 64 bit, rotazioni e operazioni XOR. Elaborando 64 bit alla volta, dimezza il numero di operazioni richieste rispetto alle versioni basate su 32 bit.
- Stato interno: mantiene due stati hash indipendenti a 64 bit (per un totale di 128 bit), che vengono aggiornati in parallelo man mano che i dati vengono elaborati.
- Finalizzazione: Esegue una serie di operazioni di miscelazione finali ("valanga") sullo stato a 128 bit per garantire che ogni bit in ingresso abbia il massimo impatto su ogni bit in uscita.
Differenze: Murmur3F vs. Murmur3A e Murmur3C
- Murmur3F vs. Murmur3A (32 bit):
- Throughput: Murmur3F è significativamente più veloce sulle moderne CPU a 64 bit perché elabora i dati in blocchi da 8 byte, mentre Murmur3A li elabora in blocchi da 4 byte.
Dimensione dell'hash: Murmur3A è limitato a uno spazio a 32 bit, mentre Murmur3F offre uno spazio molto più ampio a 128 bit, rendendo Murmur3F adatto ad applicazioni in cui la prevenzione delle collisioni è fondamentale.
Murmur3F vs. Murmur3C (128 bit):
- Ottimizzazione della CPU: entrambi producono un digest a 128 bit. Tuttavia, Murmur3C utilizza l'aritmetica a 32 bit per aggiornare il proprio stato, il che è preferibile se il codice deve essere eseguito su hardware a 32 bit. Murmur3F utilizza l'aritmetica a 64 bit, rendendolo significativamente più veloce su moderno hardware a 64 bit.
- Implementazione: se si sta sviluppando per moderni ambienti server (x64), Murmur3F è la scelta "nativa" ad alte prestazioni a 128 bit, mentre Murmur3C funge da versione a 128 bit più portatile e indipendente dall'hardware.