Kontrolinės sumos skaičiuotuvas
Techninė informacija
Kaip veikia kontrolinės sumos skaičiuoklė
Ką daro įrankis
Kontrolinės sumos skaičiuoklė apskaičiuoja nekriptografines kontrolines sumas duomenų vientisumui tikrinti, palaikydama CRC-16, CRC-24, CRC-32, Adler-32 ir Luhn algoritmus. Ji priima tiek paprastą tekstą, tiek neapdorotą šešioliktainę baitų įvestį, todėl galite tikrinti kontrolines sumas pagal tinklo protokolus, failų formatus ir identifikacinius numerius. Rezultatai pateikiami šešioliktainiu ir dešimtainiu formatu, kad būtų lengva palyginti su specifikacijų dokumentais.
Dažniausi kūrėjų naudojimo atvejai
Programuotojai naudoja CRC skaičiuokles derindami tinklo protokolus (Ethernet naudoja CRC-32, PPP naudoja CRC-16), tikrindami failų vientisumą archyvų formatuose, tokiuose kaip ZIP ir PNG, arba validuodami identifikacinius numerius su Luhn (kredito kortelės, IMEI). Įterptinių sistemų inžinieriai naudoja šį įrankį patikrinti, ar CRC realizacijos atitinka tikėtiną išvestį prieš įrašant programinę aparatinę įrangą (firmware) arba testuojant nuosekliosios komunikacijos kadrus.
Duomenų formatai, tipai arba variantai
CRC-16 (CCITT) sukuria 16 bitų kontrolinę sumą, naudojamą XMODEM, Bluetooth ir USB. CRC-32 (ISO 3720) sukuria 32 bitų reikšmę, naudojamą Ethernet, ZIP ir PNG. Adler-32 yra greitesnė CRC-32 alternatyva, naudojama zlib. Luhn mod-10 nėra CRC, o kontrolinio skaitmens algoritmas, naudojamas kredito kortelių numeriams, ISIN kodams ir IMEI numeriams tikrinti. Šešioliktainės įvesties režimas leidžia įvesti neapdorotas baitų sekas protokolo lygmens verifikavimui.
Dažniausios klaidos ir kraštiniai atvejai
CRC algoritmai turi daug polinomų ir inicializacijos variantų — CRC-16-CCITT skiriasi nuo CRC-16-IBM, todėl visada patvirtinkite, kurio varianto tikisi protokolas. Kontrolinės sumos aptinka atsitiktinį sugadinimą, bet nesuteikia jokio saugumo nuo tyčinio klastojimo; tam naudokite kriptografines maišas. Naudodami šešioliktainės įvesties režimą įsitikinkite, kad baitai įvesti be skirtukų arba nuosekliai suvienodintu formatu, nes papildomas pusbaitis (nibble) pastums visus vėlesnius baitus.
Kada naudoti šį įrankį, o kada kodą
Naudokite šį naršyklės įrankį greitiems patikrinimams derinant protokolo kadrus, tikrinant vieną kredito kortelės numerį pagal Luhn algoritmą arba lyginant CRC rezultatą su specifikacija. Masiniam failų tikrinimui, CI konvejeriams ar įterptinės programinės aparatinės įrangos (firmware) kompiliavimams naudokite kalbai būdingas CRC bibliotekas (Python zlib.crc32, Node Buffer pagrindu veikiančius crc paketus), kurios gali apdoroti srautus ir integruotis į automatizuotas darbo eigas.