Расчет CRC-CCITT (Kermit) на двух разных сайтах, дает разные результаты
Я играл с CRC-CCITT (Kermit) и заметил, что при вычислении контрольной суммы на разных сайтах я получал разные результаты.
На lammertbies.nl/comm/info/crc-calculation.html результат 123456789 был 0x8921, а на crccalc.com - 0x2189.
Фактически, любое значение, которое вы вводите в crccalc, совпадает с lammertbies, но с последними двумя символами в первую очередь. Таким образом, foobar для lammertbies имеет значение 0xF4E3, а для crccalc - 0xE3F4.
Какой сайт правильный и что другой сайт делает неправильно?
1 ответ
Это проблема с прямым и обратным порядком байтов в сообщенном значении CRC.
Вы можете проверить большинство реализаций CRC, добавив CRC в строку и проверив добавленную строку для CRC == 0. Вернитесь на оба веб-сайта калькулятора CRC, измените ввод на hex, введите строку hex
"3132333435363738398921"
CRC Kermit будет равен 0000, поэтому CRC, добавленный к строке, будет 0x89, 0x21.