计算两个不同站点上的CRC-CCITT(Kermit),得到不同的结果



我在玩CRC-CCITT(Kermit(,我注意到在不同的站点上计算校验和时,我得到了不同的结果。

在lammertbies.nl/com/info/crc-caculation.html上,12346789的结果为0x8921,但在crcalc.com上为0x2189。

事实上,无论你在crccalc上输入什么值,结果都与lammertbies相同,只是最后两个字符在前。因此,lammertbies上的foobar是0xF4E3,但crccalc上的foobar是0xE3F4。

哪个站点是正确的,另一个站点做错了什么?

这是所报告的CRC值中大端序与小端序的问题。

您可以通过将CRC附加到字符串并检查附加字符串中的CRC==0来验证大多数CRC实现。返回两个CRC计算器网站,将输入更改为十六进制,输入十六进制字符串

"3132333435363738398921">

并且Kermit CRC将是0000,所以附加到字符串的CRC将是0x89、0x21。

最新更新