CRC-32B Hash kod Kalkulator
Objavio: 19. mart 2025. 20:50:36 UTC
Kalkulator hash koda koji koristi CRC-32B (Cyclic Redundancy Check 32 bit, B varijanta) hash funkciju za izračunavanje hash koda na osnovu unosa teksta ili otpremanja datoteke.CRC-32B 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-32B varijanta, što je zaista samo hir u PHP jeziku koji okreće bitove oko (little-endian vs big-endian u originalnom CRC-32).
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.
O CRC-32B Haš Algorimu
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 ste zabrinuti da bi moglo da se ošteti 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 takođe da izračunaju kontrolni zbir i vide da li se poklapa sa onim što ste vi napisali. Ako se poklapa, pismo nije bilo oštećeno ili promenjeno tokom puta.
Način na koji CRC-32 to radi je četvorostepeni proces:
Korak 1: Dodajte Dodatni Prostor (Padding)
- CRC dodaje malo dodatnog prostora na kraju poruke (kao pakovanja za štampanje u kutiji).
- Ovo pomaže da lakše uoči greške.
Korak 2: Magična Lenjira (Polinom)
- CRC-32 koristi posebnu "magičnu lenjiru" za merenje podataka.
- Zamislite ovu lenjiru kao obrazac kvržica i udubljenja (ovo je polinom, ali ne brinite o toj reči).
- Najčešća "lenjira" za CRC-32 je fiksni obrazac.
Korak 3: Klizanje Lenjire (Proces Deljenja)
- Sada CRC klizi lenjirom preko poruke.
- Na svakom mestu, proverava da li se kvržice i udubljenja poklapaju.
- Ako se ne poklapaju, CRC pravi belešku (ovo se radi pomoću jednostavnog XOR-a, kao prebacivanje prekidača uključenog ili isključenog).
- Ono nastavlja da klizi i prebacuje prekidače dok ne stigne do kraja.
Korak 4: Konačan Rezultat (Kontrolni Zbir)
- Posle klizanja lenjire kroz celu poruku, ostaje vam mali broj (32 bita dugačak) 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-32B varijanta, koja je uglavnom PHP specifičnost koja menja redosled bitova (mali-endijan vs veliki-endijan). Verovatno biste trebali koristiti ovu verziju samo ako vam je specifično potrebna kompatibilnost sa drugom PHP aplikacijom koja je koristi.
Imam kalkulatore i za druge varijante: