如何计算CRC-CCITT (Kermit)多项式



我有一个CRC的问题。我的十六进制消息是:80 000 000 03, crc是f5 1f。我想,多边形是0x1021 (crc-ccitt kermit)。如何找出正确的多边形?我怎么看,如果我需要反转它,如果初始值是0xffff或0x0000或其他什么?我要找的多边形怎么求?我是否必须将80 000 000 03f5 f1转换为BIN,然后将两者分开?我试着用程序复仇来放松自己,但是没有成功。也许是因为我没有所有的参数- -

I found a php-function HERE

,但这不会为我计算正确的总和。也许不是php-function

中的CRC-CCITT KERMIT

0x1ff5确实是80 00 00 03的CRC-CCITT (Kermit)。(它显然以小端顺序存储在流中。)

您找到的PHP代码是用于false "CRC-CCITT"的,您可以在这里的RevEng目录中找到。

true CRC-CCITT (Kermit)参数在该目录中。位是反转的,所以你使用反转的多项式0x8408,你把位向下而不是向上移动。初始寄存器内容为零,并且没有最终的异或

最新更新