MurmurHash3F Hash-koodilaskin
Julkaistu: 18. helmikuuta 2025 klo 0.27.52 UTC
Viimeksi päivitetty: 12. tammikuuta 2026 klo 13.31.16 UTC
MurmurHash3F Hash Code Calculator
MurmurHash3 on Austin Applebyn vuonna 2008 suunnittelema ei-kryptografinen hajautusfunktio. Sitä käytetään laajalti yleiskäyttöön tarkoitetussa hajautuksessa sen nopeuden, yksinkertaisuuden ja hyvien jakeluominaisuuksien ansiosta. MurmurHash-funktiot ovat erityisen tehokkaita hajautuspohjaisissa tietorakenteissa, kuten hajautustaulukoissa, bloom-suodattimissa ja datan deduplikaatiojärjestelmissä.
Tällä sivulla esitetty variantti on 3F-variantti, joka on optimoitu 64-bittisille järjestelmille. Se tuottaa 128-bittisiä (16 tavua) hajautuskoodeja, jotka tyypillisesti esitetään 32-numeroisena heksadesimaalilukuna.
Täydellinen paljastus: en ole kirjoittanut tällä sivulla käytetyn hash-funktion toteutusta. Se on PHP-ohjelmointikielen mukana tuleva vakiofunktio. Tein vain web-käyttöliittymän, jotta se olisi julkisesti saatavilla täällä.
Tietoja MurmurHash3F-hajautusalgoritmista
En ole matemaatikko, mutta yritän selittää tämän tiivistefunktion analogialla, jonka muut kuin matemaatikot ymmärtävät. Jos haluat tieteellisesti oikean ja täysin matemaattisen selityksen, olen varma, että löydät sen muualta ;-)
Kuvittele nyt, että sinulla on iso laatikko LEGO-palikoita. Joka kerta, kun järjestelet ne tietyllä tavalla, otat kuvan. Olipa asetelma kuinka suuri tai värikäs tahansa, kamera antaa aina pienen, kiinteän kokoisen kuvan. Tämä kuva edustaa LEGO-luomustasi, mutta kompaktissa muodossa.
MurmurHash3 tekee jotain vastaavaa datan kanssa. Se ottaa minkä tahansa tyyppistä dataa (tekstiä, numeroita, tiedostoja) ja kutistaa sen pieneksi, kiinteäksi "sormenjäljeksi" eli hash-arvoksi. Tämä sormenjälki auttaa tietokoneita tunnistamaan, lajittelemaan ja vertailemaan dataa nopeasti ilman, että niiden tarvitsee tarkastella koko dataa.
Toinen analogia olisi kuin leivottaisiin kakku ja MurmurHash3 olisi resepti, jolla kakusta tehdään pieni kuppikakku (hash). Tämä olisi kolmivaiheinen prosessi:
Vaihe 1: Pilko palasiksi (tietojen purkaminen)
- Ensin MurmurHash3 pilkkoo datasi yhtä suuriksi paloiksi, kuten kakun leikkaamisen tasaisiksi neliöiksi.
Vaihe 2: Sekoita hullun lailla (palojen sekoittaminen)
- Jokainen pala käy läpi villin sekoitusprosessin:Kääntäminen: Kuten pannukakun kääntäminen, se järjestää palat uudelleen.Sekoitus: Lisää satunnaisia ainesosia (matemaattisia operaatioita) sekoittaakseen asioita.Litistäminen: Puristaa tiedot yhteen varmistaakseen, ettei mikään alkuperäinen pala erotu joukosta.
Vaihe 3: Viimeinen makutesti (viimeistely)
- Sekoitettuaan kaikki palat MurmurHash3 sekoittaa ne vielä kerran varmistaakseen, että pieninkin muutos alkuperäisessä datassa muuttaa maun (hasiksen) täysin.
Lisälukemista
Jos pidit tästä postauksesta, saatat pitää myös näistä ehdotuksista:
