CRC-32 -tiivisteen luonti
Standardi Cyclic Redundancy Check tiedon eheydelle
CRC-32 on maailman laajimmin käytetty ei-kryptografinen tarkistussummafunktio. Se tuottaa 32-bittisen tiivisteen (8 heksadesimaalimerkkiä) polynomijaon avulla.
Mikä on CRC-32?
CRC-32 käsittelee syötedataa suurena polynomina ja laskee jakojäännöksen kiinteällä generaattoripolynomilla.
✅ Edut
- • Laitteistokiihdytetty: Intel CRC32 -käsky laskee muistinopeudella
- • Vahva havaitseminen: Havaitsee kaikki 1-bittisten, 2-bittisten ja parittomien bittien virheet
- • Universaali standardi: Ethernet, USB, ZIP, PNG, MPEG-2
- • Yksinkertainen ja nopea: Hakutaulukot nopeaan laskentaan
📊 Käyttökohteet
- • Arkistointi: ZIP- ja gzip-eheyden tarkistus
- • Verkko: Ethernet-kehysten validointi
- • Tallennus: Tiedostojärjestelmän eheys
- • Multimedia: PNG- ja MPEG-tiedostojen eheys
⚠️ Turvallisuushuomautus
CRC-32 ei ole kryptografinen tiivistefunktio. Suunniteltu satunnaisten virheiden havaitsemiseen, ei tahallisen muokkauksen estämiseen.
🔄 CRC-32 vertailu
CRC-32
32-bittinen, polynominen
Virheiden havaitseminen, ei kryptoa
Adler-32
32-bittinen, aritmeettinen
Nopeampi mutta heikompi havaitseminen
MD5
128-bittinen, kryptografinen
Paljon hitaampi mutta turvallisempi
❓ Usein kysytyt kysymykset
Mitä eroa on CRC-32:lla ja CRC-32B:llä?
Ne käyttävät eri generaattoripolynomeja. CRC-32B on PHP:n oletusvariantti.
Miksi CRC-32 ei sovi turvallisuuteen?
CRC-32 on lineaarinen ja käännettävissä. Hyökkääjät voivat helposti luoda törmäyksiä.
Havaitseeko CRC-32 kaikki virheet?
Ei. CRC-32 havaitsee kaikki 1- ja 2-bittiset virheet, mutta jotkin kaavat voivat jäädä huomaamatta.