Generator Hash MURMUR3C

Generator ciągu hash murmur3c online

MURMUR3C hash

To narzędzie online umożliwia Ci wygenerowanie hash murmur3c dowolnego ciągu.

Długość MURMUR3C wynosi 32 znaków

Jak przydatne było dla Ciebie to narzędzie?

Średnia ocena: 4.8/5 na podstawie 8 głosów

Wesprzyj naszą pracę

Hash dostępny

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,

Czym jest Murmur3C?

Murmur3C to 128-bitowa wersja algorytmu MurmurHash3. Podczas gdy Murmur3A jest przeznaczony do generowania 32-bitowych wartości skrótu, Murmur3C tworzy skrót o długości 128 bitów. Został on specjalnie zaprojektowany do obsługi większych zbiorów danych i zapewnia znacznie większą przestrzeń skrótu, co jest niezbędne w aplikacjach, w których prawdopodobieństwo kolizji musi być utrzymywane na bardzo niskim poziomie, nawet w przypadku miliardów kluczy. Podobnie jak jego 32-bitowy odpowiednik, jest to nie-kryptograficzna funkcja skrótu zoptymalizowana pod kątem wysokowydajnych tabel skrótów.

Jak działa funkcja skrótu Murmur3C?

Murmur3C skaluje logikę mieszania rodziny MurmurHash3, aby dostosować się do większych stanów wewnętrznych:

  1. Inicjalizacja: Wykorzystuje 32-bitowy seed, który jest następnie rozszerzany do 128-bitowego stanu wewnętrznego.
  2. Przetwarzanie 128-bitowe: Dane wejściowe są przetwarzane w blokach 16-bajtowych (128-bitowych). Wykorzystuje kombinację mnożeń 64-bitowych, rotacji bitów i operacji XOR do mieszania danych.
  3. Zarządzanie stanem: Utrzymuje cztery 32-bitowe rejestry (łącznie 128 bitów), które są aktualizowane niezależnie w miarę zużywania danych.
  4. Finalizacja: Etap finalizacji wykonuje serię operacji „lawinowych” (dokładnie mieszających bity) w całym 128-bitowym stanie, aby zapewnić, że każdy bit wejściowy wpływa na każdy bit wyjściowy.

Różnica między Murmur3C a Murmur3A

Główna różnica między tymi dwoma wariantami polega na szerokości bitowej i przeznaczeniu:

  • Przestrzeń skrótu: Murmur3C zapewnia 128-bitowy skrót (umożliwiający $2^{128}$ możliwych wartości), podczas gdy Murmur3A zapewnia 32-bitowy skrót ($2^{32}$ wartości). Murmur3C jest praktycznie odporny na kolizje w przypadku większości standardowych zbiorów danych aplikacji.
  • Wydajność: Murmur3A jest nieco szybszy i zużywa mniej pamięci, ponieważ działa na rejestrach 32-bitowych. Murmur3C wymaga arytmetyki 64-bitowej do przetwarzania bloków 128-bitowych, co sprawia, że jest nieco bardziej obciążający obliczeniowo.
  • Przykład zastosowania: Murmur3A idealnie nadaje się do standardowych, szybkich map hashowych, w których wystarczająca jest 32-bitowa entropia. Murmur3C jest preferowanym wyborem dla wielkoskalowych systemów rozproszonych, indeksowania baz danych oraz scenariuszy, w których integralność danych i zapobieganie kolizjom mają kluczowe znaczenie.

Lubisz ToolsYEP? Wesprzyj naszą pracę!

DO GÓRY