Miklix

CRC-32C Hash kod Kalkulator

Objavio: 19. mart 2025. 20:52:26 UTC

Kalkulator hash koda koji koristi CRC-32C (Cyclic Redundancy Check 32 bit, C varijanta) hash funkciju za izračunavanje hash koda na osnovu unosa teksta ili otpremanja datoteke.

Ova stranica je mašinski prevedena sa engleskog jezika kako bi bila dostupna što većem broju ljudi. Nažalost, mašinsko prevođenje još uvek nije usavršena tehnologija, tako da može doći do grešaka. Ako želite, možete pogledati originalnu englesku verziju ovde:

CRC-32C Hash Code Calculator

Ciklična redundantna provera (CRC) je kod za otkrivanje grešaka koji se obično koristi za otkrivanje slučajnih promena u sirovim podacima. Iako tehnički nije kriptografska hash funkcija, CRC-32 se često naziva hash zbog svoje sposobnosti da proizvede izlaz fiksne veličine (32 bita) iz ulaza promenljive dužine. Verzija predstavljena na ovoj stranici je CRC-32C varijanta, koja je novija, "pametnija" (bolje otkrivanje grešaka) verzija koja je često hardverski ubrzana na modernim procesorima (preko SSE 4.2).

Potpuno obelodanjivanje: Nisam napisao specifičnu implementaciju hash funkcije koja se koristi na ovoj stranici. To je standardna funkcija uključena u PHP programski jezik. Napravio sam samo veb interfejs da bi bio javno dostupan ovde radi lakšeg snalaženja.


Izračunajte novi hash kod

Podaci dostavljeni ili datoteke otpremljene putem ovog obrasca čuvaće se na serveru samo onoliko dugo koliko je potrebno za generisanje traženog hash koda. Biće izbrisan neposredno pre nego što se rezultat vrati u vaš pregledač.

Ulazni podaci:



Podneti tekst je kodiran UTF-8. Pošto hash funkcije rade na binarnim podacima, rezultat će biti drugačiji nego ako je tekst bio u drugom kodiranju. Ako želite da izračunate hash teksta u određenom kodiranju, trebalo bi da umesto toga otpremite datoteku.



O CRC-32C Haš Algoritmu

Nisam matematičar, ali ću pokušati da objasnim ovu haš funkciju kroz jednostavnu analogiju. Za razliku od mnogih kriptografskih haš funkcija, ovo nije naročito komplikovan algoritam, tako da će verovatno biti u redu ;-)

Zamislite da šaljete pismo poštom, ali se brinete da bi moglo da bude oštećeno pre nego što stigne do primaoca. Na osnovu sadržaja pisma, izračunate CRC-32 kontrolni zbir i napišete ga na koverti. Kada primalac primi pismo, on ili ona mogu da izračunaju kontrolni zbir i vide da li se poklapa sa onim što ste napisali. Ako se poklapa, pismo nije bilo oštećeno ili izmenjeno na putu.

Način na koji CRC-32 to radi je proces od četiri koraka:

Korak 1: Dodavanje Dodatnog Prostora (Padding)

  • CRC dodaje malo dodatnog prostora na kraju poruke (kao pakovanje sa stiroporom u kutiji).
  • To pomaže da lakše prepozna greške.

Korak 2: Magična Lenjir (Polinom)

  • CRC-32 koristi posebnu "magičnu lenjir" za merenje podataka.
    • Zamislite ovu lenjir kao obrazac udaraca i utora (ovo je polinom, ali ne brinite o toj reči).
    • Najčešći "lenjir" za CRC-32 je fiksni obrazac.

Korak 3: Klizanje Lenjira (Proces Deličenja)

  • Sada CRC klizi lenjir preko poruke.
    • Na svakom mestu, proverava da li se udarci i utori poklapaju.
    • Ako se ne poklapaju, CRC pravi belešku (ovo se radi korišćenjem jednostavnog XOR, kao uključivanje ili isključivanje prekidača).
    • On nastavlja da klizi i uključuje ili isključuje prekidače dok ne stigne do kraja.

Korak 4: Konačan Rezultat (Kontrolni Zbir)

  • Posle klizanja lenjira kroz celu poruku, ostaje vam mali broj (dolg 32 bita) koji predstavlja originalne podatke.
    • Ovaj broj je kao jedinstveni otisak prsta za poruku.
    • Ovo je CRC-32 kontrolni zbir.

Verzija predstavljena na stranici je CRC-32C varijanta, koja bi trebalo da bude preferirana varijanta, naročito ako koristite CPU koji ima hardversko ubrzanje (SSE 4.2 i noviji) i ne morate imati kompatibilnost sa drugim varijantama.

Imam i kalkulatore za druge varijante:

Podeli na BlueskiPodeli na FejsbukuPodeli na LinkedInPodeli na TumblrPodeli na XPodeli na LinkedInPin na Pinterest

Mikkel Christensen

O autoru

Mikkel Christensen
Mikel je tvorac i vlasnik miklix.com. Ima preko 20 godina iskustva kao profesionalni kompjuterski programer / programer i trenutno je zaposlen sa punim radnim vremenom za veliku evropsku IT korporaciju. Kada ne bloguje, on provodi svoje slobodno vreme na širokom spektru interesovanja, hobija i aktivnosti, što se u određenoj meri može odraziti na različite teme koje se obrađuju na ovoj veb stranici.