Miklix

MurmurHash3F Hash-koodilaskin

Julkaistu: 18. helmikuuta 2025 klo 0.27.52 UTC
Viimeksi päivitetty: 12. tammikuuta 2026 klo 13.31.16 UTC

Hajautuskoodin laskin, joka käyttää MurmurHash3F-hajautusfunktiota laskeakseen hajautuskoodin tekstisyötteen tai tiedoston latauksen perusteella.

Tämä sivu on käännetty koneellisesti englannista, jotta se olisi mahdollisimman monen ihmisen saatavilla. Valitettavasti konekääntäminen ei ole vielä täydellistä tekniikkaa, joten virheitä voi esiintyä. Voit halutessasi tarkastella alkuperäistä englanninkielistä versiota täällä:

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ä.


Laske uusi Hash-koodi

Tämän lomakkeen kautta lähetettyjä tietoja tai ladattuja tiedostoja säilytetään palvelimella vain niin kauan kuin pyydetyn hash-koodin luominen kestää. Ne poistetaan välittömästi ennen kuin tulos palautetaan selaimellesi.

Syöttötiedot:



Toimitettu teksti on UTF-8-koodattu. Koska hash-funktiot toimivat binääridatalla, tulos on erilainen kuin jos teksti olisi muulla koodauksella. Jos sinun on laskettava hash-tiedosto tekstistä tietyllä koodauksella, sinun on ladattava tiedosto.



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:


Jaa BlueskyssäJaa FacebookissaJaa LinkedInissäJaa TumblrissaJaa X:ssäJaa LinkedInissäPin Pinterestissä

Mikkel Christensen

Kirjoittajasta

Mikkel Christensen
Mikkel on miklix.com-sivuston luoja ja omistaja. Hänellä on yli 20 vuoden kokemus ammattimaisena tietokoneohjelmoijana/ohjelmistokehittäjänä, ja tällä hetkellä hän työskentelee kokopäiväisesti suuressa eurooppalaisessa IT-yrityksessä. Kun hän ei ole bloggaamassa, hän käyttää vapaa-aikaansa monenlaisiin kiinnostuksen kohteisiin, harrastuksiin ja aktiviteetteihin, mikä saattaa jossain määrin heijastua tällä verkkosivustolla käsiteltävien aiheiden moninaisuuteen.