Kontrollsumma kalkulaator
Tehnilised üksikasjad
Kuidas kontrollsumma kalkulaator töötab
Mida tööriist teeb
Kontrollsumma kalkulaator arvutab mittekrüptograafilisi kontrollsummasid andmete tervikluse kontrollimiseks, toetades CRC-16, CRC-24, CRC-32, Adler-32 ja Luhni algoritme. See aktsepteerib nii lihtteksti kui ka toorest heksadetsimaalset baitide sisendit, võimaldades kontrollsummasid võrrelda võrguprotokollide, failiformaatide ja identifitseerimisnumbritega. Tulemused kuvatakse heksadetsimaalsel ja kümnendsüsteemsel kujul, et neid oleks lihtne spetsifikatsioonidokumentidega võrrelda.
Levinud kasutusjuhtumid arendajatele
Arendajad kasutavad CRC kalkulaatoreid võrguprotokollide silumisel (Ethernet kasutab CRC-32, PPP kasutab CRC-16), failide tervikluse kontrollimisel arhiiviformaatides nagu ZIP ja PNG või identifitseerimisnumbrite valideerimisel Luhni abil (krediitkaardid, IMEI). Sisseehitatud süsteemide insenerid kasutavad seda tööriista, et kontrollida CRC teostuste vastavust oodatud väljundile enne püsivara välgutamist või jadaliidese sidekaadrite testimist.
Andmevormingud, tüübid või variandid
CRC-16 (CCITT) annab 16-bitise kontrollsumma, mida kasutatakse XMODEM-is, Bluetoothis ja USB-s. CRC-32 (ISO 3720) annab 32-bitise väärtuse, mida kasutatakse Ethernetis, ZIP-is ja PNG-s. Adler-32 on CRC-32 kiirem alternatiiv, mida kasutatakse zlibis. Luhn mod-10 ei ole CRC, vaid kontrollnumbri algoritm, mida kasutatakse krediitkaardinumbrite, ISIN-koodide ja IMEI-numbrite valideerimiseks. Heks-sisendrežiim võimaldab sisestada tooreid baitijadasid protokollitaseme verifitseerimiseks.
Levinud komistuskivid ja erijuhud
CRC algoritmidel on palju polünoomi- ja initsialiseerimisvariante — CRC-16-CCITT erineb CRC-16-IBM-ist, seega kinnita alati, millist varianti protokoll eeldab. Kontrollsummad tuvastavad juhuslikku rikkumist, kuid ei paku mingit kaitset tahtliku võltsimise vastu; selleks kasuta krüptograafilisi räsi. Heks-sisendrežiimi kasutamisel veendu, et baidid on sisestatud ilma eraldajateta või ühtlase vorminguga, sest üks lisatud nibble nihutab kõiki järgnevaid baite.
Millal kasutada seda tööriista vs koodi
Kasuta seda brauseritööriista kiireteks kontrollideks, kui silud protokolliraame, valideerid ühe krediitkaardi numbri Luhni algoritmiga või võrdled CRC väljundit spetsifikatsiooniga. Mahulise failikontrolli, CI torustike või manustatud püsivara build’ide jaoks kasuta keelepõhiseid CRC teeke (Python'i zlib.crc32, Node'i Bufferil põhinevad crc paketid), mis suudavad töödelda vooge ja integreeruda automatiseeritud töövoogudesse.