DevToys Web Pro iconDevToys Web ProBlog
Ocenite nas:
Preizkusite razširitev brskalnika:

Kalkulator kontrolne vsote

  • Način:
    CRC-8
  • 87 (135)
    CRC-16
  • FA4D (64077)
    CRC-24
  • DF8BCE (14650318)
    CRC-32
  • EC4AC3D0 (3964322768)
    Adler-32
  • 1F9E046A (530449514)
    Tehnične podrobnosti

    Kako deluje kalkulator kontrolne vsote

    Kaj orodje počne

    Kalkulator kontrolne vsote izračuna nekriptografske kontrolne vsote za preverjanje celovitosti podatkov ter podpira algoritme CRC-16, CRC-24, CRC-32, Adler-32 in Luhn. Sprejema tako navadno besedilo kot surov šestnajstiški vnos bajtov, kar omogoča preverjanje kontrolnih vsot glede na omrežne protokole, formate datotek in identifikacijske številke. Rezultati so prikazani v šestnajstiškem in decimalnem zapisu za enostavno primerjavo s specifikacijskimi dokumenti.

    Pogosti primeri uporabe za razvijalce

    Razvijalci uporabljajo CRC kalkulatorje pri razhroščevanju omrežnih protokolov (Ethernet uporablja CRC-32, PPP uporablja CRC-16), preverjanju celovitosti datotek v arhivskih formatih, kot sta ZIP in PNG, ali validaciji identifikacijskih številk z Luhnom (kreditne kartice, IMEI). Vgrajeni inženirji uporabljajo to orodje za preverjanje, ali se implementacije CRC ujemajo s pričakovanim izhodom, preden naložijo vdelano programsko opremo ali testirajo okvirje serijske komunikacije.

    Podatkovni formati, tipi ali različice

    CRC-16 (CCITT) ustvari 16-bitno kontrolno vsoto, ki se uporablja v XMODEM, Bluetooth in USB. CRC-32 (ISO 3720) ustvari 32-bitno vrednost, ki se uporablja v Ethernet, ZIP in PNG. Adler-32 je hitrejša alternativa CRC-32, uporabljena v zlib. Luhn mod-10 ni CRC, temveč algoritem kontrolne številke, ki se uporablja za validacijo številk kreditnih kartic, kod ISIN in številk IMEI. Način šestnajstiškega vnosa vam omogoča vnos surovih zaporedij bajtov za preverjanje na ravni protokola.

    Pogoste pasti in robni primeri

    Algoritmi CRC imajo veliko različic polinomov in inicializacije — CRC-16-CCITT se razlikuje od CRC-16-IBM, zato vedno preverite, katero različico protokol pričakuje. Kontrolne vsote zaznajo naključno okvaro, vendar ne zagotavljajo nobene varnosti pred namernim spreminjanjem; za ta namen uporabite kriptografske zgoščene vrednosti. Pri uporabi načina šestnajstiškega vnosa poskrbite, da so bajti vneseni brez ločil ali z doslednim formatiranjem, saj bo dodatni nibble zamaknil vse naslednje bajte.

    Kdaj uporabiti to orodje namesto kode

    Uporabite to orodje v brskalniku za hitre preverbe na mestu pri razhroščevanju protokolnih okvirjev, validaciji posamezne številke kreditne kartice z Luhnovim algoritmom ali primerjavi izhoda CRC s specifikacijo. Za množično preverjanje datotek, CI cevovode ali gradnje vdelane strojne programske opreme uporabite CRC knjižnice, značilne za jezik (Pythonov zlib.crc32, Nodeovi paketi crc na osnovi Buffer), ki lahko obdelujejo tokove in se vključijo v avtomatizirane poteke dela.