This online tool allows you to generate the hash murmur3f of any string.
MURMUR3F length is 32 characters
Hash available
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,
What is Murmur3F?
Murmur3F (often referred to as the 64-bit version of MurmurHash3) is a high-performance, non-cryptographic hash function designed specifically to leverage 64-bit CPU architectures. While Murmur3C also produces a 128-bit hash, Murmur3F is optimized to process input in 64-bit blocks rather than 32-bit blocks. This makes it the most efficient choice for modern processors when high-speed, large-scale hashing is required, maintaining the same non-cryptographic, collision-resistant properties as the rest of the MurmurHash3 family.
How does Murmur3F hash works?
Murmur3F utilizes 64-bit operations to maximize throughput:
- Initialization: It begins with a 64-bit seed, expanded into the internal state.
- 64-bit Processing: The input is processed in 8-byte (64-bit) blocks. It uses 64-bit multipliers, rotations, and XORs. By processing 64 bits at a time, it halves the number of operations required compared to 32-bit-based versions.
- Internal State: It maintains two independent 64-bit hash states (totaling 128 bits), which are updated in parallel as the data is consumed.
- Finalization: It performs a series of final mixing operations ("avalanche") on the 128-bit state to ensure that every input bit has a maximum impact on every output bit.
Differences: Murmur3F vs. Murmur3A and Murmur3C
- Murmur3F vs. Murmur3A (32-bit):
- Throughput: Murmur3F is significantly faster on modern 64-bit CPUs because it processes data in 8-byte chunks, whereas Murmur3A processes in 4-byte chunks.
Hash Size: Murmur3A is limited to a 32-bit space, whereas Murmur3F provides a much larger 128-bit space, making Murmur3F suitable for applications where collision avoidance is critical.
Murmur3F vs. Murmur3C (128-bit):
- CPU Optimization: Both produce a 128-bit digest. However, Murmur3C uses 32-bit arithmetic to update its state, which is better if the code must run on 32-bit hardware. Murmur3F uses 64-bit arithmetic, making it significantly faster on modern 64-bit hardware.
- Implementation: If you are developing for modern server environments (x64), Murmur3F is the "native" high-performance 128-bit choice, while Murmur3C acts as a more portable, hardware-agnostic 128-bit version.