CRC-32 hash kód kalkulátor
Megjelent: 2025. február 17. 18:11:25 UTC
Utolsó frissítés: 2026. január 12. 9:14:48 UTC
CRC-32 Hash Code Calculator
Ciklikus redundancia-ellenőrzés (CRC) egy hibaészlelő kód, amelyet általában a nyers adatok véletlen változásainak észlelésére használnak. Bár technikailag nem kriptográfiai hash függvény, a CRC-32-t gyakran hash-nek nevezik, mivel képes változó hosszúságú bemenetből fix méretű kimenetet (32 bit) előállítani.
Teljes nyilvánosságra hozatal: nem én írtam az ezen az oldalon használt hash függvény konkrét implementációját. Ez egy szabványos függvény, amely a PHP programozási nyelvben szerepel. Csak a webes felületet készítettem el, hogy a kényelem érdekében itt nyilvánosan elérhetővé tegyem.
A CRC-32 hash algoritmusról
Nem vagyok matematikus, de megpróbálom elmagyarázni ezt a hash függvényt egy egyszerű analógiával. Sok kriptográfiai hash függvénytől eltérően ez nem egy különösebben bonyolult algoritmus, szóval valószínűleg rendben lesz ;-)
Képzeld el, hogy levelet küldesz postán, de attól tartasz, hogy az megsérülhet, mielőtt megérkezik a címzetthez. A levél tartalma alapján kiszámítasz egy CRC-32 ellenőrzőösszeget, és ezt ráírod a borítékra. Amikor a címzett megkapja a levelet, ő is kiszámíthatja az ellenőrzőösszeget, és megnézheti, hogy az megegyezik-e azzal, amit írtál. Ha igen, akkor a levél nem sérült meg vagy változott meg az út során.
A CRC-32 ezt egy négylépéses folyamaton keresztül valósítja meg:
1. lépés: Adjon hozzá extra helyet (kitöltés)
- A CRC egy kis plusz helyet ad az üzenet végéhez (például földimogyoró dobozba csomagolásakor).
- Ez segít abban, hogy könnyebben észrevegye a hibákat.
2. lépés: A mágikus vonalzó (a polinom)
- CRC-32 egy speciális „mágikus vonalzót” használ az adatok méréséhez. Képzelj el ezt a vonalzót egy dudorokból és barázdákból álló mintázatként (ez a polinom, de ne aggódj a szó miatt). A CRC-32 leggyakoribb „vonalzója” egy fix minta.
3. lépés: A vonalzó csúsztatása (osztási folyamat)
- A CRC most végighúzza a vonalzót az üzeneten. Minden ponton ellenőrzi, hogy a kiemelkedések és barázdák egy vonalban vannak-e. Ha nem illeszkednek, a CRC feljegyzi (ezt egyszerű XOR művelettel lehet megtenni, például a kapcsolók be- és kikapcsolásával). Addig húzogatja és kapcsolgatja a kapcsolókat, amíg el nem éri a végét.
4. lépés: A végeredmény (az ellenőrzőösszeg)
- Miután a vonalzót végighúztad az egész üzeneten, egy kis szám (32 bit hosszú) marad, amely az eredeti adatot jelöli. Ez a szám olyan, mint az üzenet egyedi ujjlenyomata. Ez a CRC-32 ellenőrzőösszeg.
Az oldalon bemutatott verzió az eredeti CRC-32 funkció, amelyet a többi rendszerrel való legjobb kompatibilitás érdekében érdemes használni.
Vannak kalkulátoraim a többi változathoz is:
- Link
- Link
További olvasmányok
Ha tetszett ez a bejegyzés, akkor ezek a javaslatok is érdekelhetik:
