DevToys Web Pro iconDevToys Web ProБлог
Оценете ни:
Изпробвайте разширението за браузър:

Калкулатор за контролни суми

  • Режим:
    CRC-8
  • 87 (135)
    CRC-16
  • FA4D (64077)
    CRC-24
  • DF8BCE (14650318)
    CRC-32
  • EC4AC3D0 (3964322768)
    Adler-32
  • 1F9E046A (530449514)
    Технически подробности

    Как работи калкулаторът за контролна сума

    Какво прави инструментът

    Калкулаторът за контролна сума изчислява некриптографски контролни суми за проверка на целостта на данните, като поддържа алгоритмите CRC-16, CRC-24, CRC-32, Adler-32 и Luhn. Приема както обикновен текст, така и суров шестнадесетичен вход на байтове, което ви позволява да проверявате контролни суми спрямо мрежови протоколи, файлови формати и идентификационни номера. Резултатите се показват в шестнадесетичен и десетичен вид за лесно сравнение със спецификационни документи.

    Често срещани случаи на употреба от разработчици

    Разработчиците използват CRC калкулатори при дебъгване на мрежови протоколи (Ethernet използва CRC-32, PPP използва CRC-16), проверка на целостта на файлове в архивни формати като ZIP и PNG или валидиране на идентификационни номера с Luhn (кредитни карти, IMEI). Инженерите по вградени системи използват този инструмент, за да проверят дали CRC имплементациите съвпадат с очаквания изход преди флашване на фърмуер или тестване на кадри за серийна комуникация.

    Формати на данни, типове или варианти

    CRC-16 (CCITT) дава 16-битова контролна сума, използвана в XMODEM, Bluetooth и USB. CRC-32 (ISO 3720) дава 32-битова стойност, използвана в Ethernet, ZIP и PNG. Adler-32 е по-бърза алтернатива на CRC-32, използвана в zlib. Luhn mod-10 не е CRC, а алгоритъм за контролна цифра, използван за валидиране на номера на кредитни карти, ISIN кодове и IMEI номера. Режимът за hex вход ви позволява да въвеждате сурови байтови последователности за проверка на ниво протокол.

    Често срещани капани и гранични случаи

    CRC алгоритмите имат много варианти на полином и инициализация — CRC-16-CCITT се различава от CRC-16-IBM, затова винаги потвърждавайте кой вариант очаква даден протокол. Контролните суми откриват случайна повреда, но не осигуряват никаква защита срещу умишлена подмяна; за тази цел използвайте криптографски хешове. При използване на режим за hex вход се уверете, че байтовете са въведени без разделители или с последователно форматиране, тъй като допълнителен nibble ще измести всички следващи байтове.

    Кога да използвате този инструмент вместо код

    Използвайте този инструмент в браузъра за бързи проверки на място при дебъгване на протоколни кадри, валидиране на единичен номер на кредитна карта с Luhn или сравняване на CRC резултат спрямо спецификация. За масова проверка на файлове, CI пайплайни или билдове на вграден фърмуер използвайте CRC библиотеки, специфични за езика (zlib.crc32 на Python, crc пакети за Node, базирани на Buffer), които могат да обработват потоци и да се интегрират в автоматизирани работни процеси.