CRC-32 Hash-koodilaskin
Julkaistu: 17. helmikuuta 2025 klo 18.11.21 UTC
Hash-koodilaskin, joka käyttää CRC-32 (Cyclic Redundancy Check 32 bit) hash-toimintoa laskemaan hash-koodin tekstin syöttämisen tai tiedoston lataamisen perusteella.CRC-32 Hash Code Calculator
Cyclic Redundancy Check (CRC) on virheentunnistuskoodi, jota käytetään yleisesti havaitsemaan vahingossa tapahtuneet muutokset raakadataan. Vaikka CRC-32 ei teknisesti ole kryptografinen hajautustoiminto, sitä kutsutaan usein hashiksi, koska se pystyy tuottamaan kiinteän kokoisen tulosteen (32 bittiä) vaihtuvamittaisesta syötteestä.
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 CRC-32 Hash-algoritmista
En ole matemaatikko, mutta yritän selittää tämän hash-funktion yksinkertaisella analogialla. Toisin kuin monet kryptografiset hajautusfunktiot, se ei ole erityisen monimutkainen algoritmi, joten se on todennäköisesti kunnossa ;-)
Kuvittele, että lähetät kirjeen postitse, mutta olet huolissasi, että se voi vaurioitua ennen kuin se saapuu vastaanottajalle. Kirjeen sisällön perusteella lasket CRC-32-tarkistussumman ja kirjoitat sen kirjekuoreen. Kun vastaanottaja vastaanottaa kirjeen, hän voi myös laskea tarkistussumman ja tarkistaa, vastaako se kirjoittamaasi. Jos näin on, kirje ei ole vahingoittunut tai muuttunut matkan varrella.
Tapa, jolla CRC-32 tekee tämän, on nelivaiheinen prosessi:
Vaihe 1: Lisää ylimääräistä tilaa (täyte)
- CRC lisää hieman ylimääräistä tilaa viestin loppuun (kuten maapähkinöiden pakkaaminen laatikkoon).
- Tämä auttaa havaitsemaan virheet helpommin.
Vaihe 2: Maaginen hallitsija (polynomi)
- CRC-32 käyttää erityistä "maagista viivainta" mittaamaan dataa.
- Ajattele tätä viivainta kuin kuoppia ja uria (tämä on polynomi, mutta älä välitä siitä sanasta).
- Yleisin CRC-32:n "viivain" on kiinteä kuvio.
Vaihe 3: Viivaimen liu'uttaminen (jakoprosessi)
- Nyt CRC liu'uttaa viivaimen viestin poikki.
- Jokaisessa kohdassa se tarkistaa, ovatko kohoumat ja urat kohdakkain.
- Jos ne eivät ole linjassa, CRC tekee muistiinpanon (tämä tehdään yksinkertaisella XOR:lla, kuten kytkimien kääntäminen päälle tai pois).
- Se liu'uttaa ja kääntää kytkimiä, kunnes se saavuttaa lopun.
Vaihe 4: Lopullinen tulos (tarkistussumma)
- Kun olet liu'uttanut viivaimen koko viestin yli, jää jäljelle pieni numero (32 bittiä), joka edustaa alkuperäistä dataa.
- Tämä numero on kuin ainutlaatuinen sormenjälki viestille.
- Tämä on CRC-32 tarkistussumma.
Sivulla esitetty versio on alkuperäinen CRC-32-toiminto, jota sinun tulee käyttää parhaan yhteensopivuuden saavuttamiseksi muiden järjestelmien kanssa.
Minulla on laskimia myös muille versioille: