0

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

在 lammertbies.nl/comm/info/crc-calculation.html 上,123456789的结果是 0x8921,但在 crccalc.com 上是 0x2189。

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

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

4

1 回答 1

1

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

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

“3132333435363738398921”

并且 Kermit CRC 将为 0000,因此附加到字符串的 CRC 将为 0x89、0x21。

于 2018-08-05T02:30:25.947 回答