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 дають очікуваний результат, перед прошиванням firmware або тестуванням кадрів послідовного звʼязку.

    Формати даних, типи або варіанти

    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. Режим шістнадцяткового вводу дозволяє вводити сирі послідовності байтів для перевірки на рівні протоколу.

    Поширені помилки та крайові випадки

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

    Коли використовувати цей інструмент, а коли — код

    Використовуйте цей браузерний інструмент для швидких точкових перевірок під час налагодження кадрів протоколів, валідації одного номера кредитної картки за алгоритмом Луна або порівняння результату CRC зі специфікацією. Для масової перевірки файлів, CI-пайплайнів або збірок вбудованої прошивки використовуйте нативні для мови бібліотеки CRC (Python's zlib.crc32, Node's Buffer-based crc packages), які можуть обробляти потоки та інтегруватися в автоматизовані робочі процеси.