我有一个6字节代码的样本和他的CRC结果,我需要在Python中编写一个小的CRC函数,从任意的6字节输入开始计算它,但我不知道什么版本的CRC I需要。
这是输入:
0x00 0x00 0x00 0x01 0xFF 0xFF
......这就是结果:
0xC2 0x00
有人知道使用什么版本的CRC? 我已经尝试过使用crcmod,但结果总是不同。
我还有一个用C编写的函数片段,如果有帮助的话:
ShiftRegister = 0xFFFF;
Pchar = (&Buffer[0]);
for (p=0;p<ReceivedBytes;p++)
{
dato = (*Pchar)*256;
Pchar++;
for (i=0;i<8;i++)
{
if((ShiftRegister ^ dato)& 0x8000)
{
ShiftRegister <<=1;
ShiftRegister ^= 0x8005;
}
else
{
ShiftRegister <<=1;
}
dato <<= 1;
}
}
其中&Buffer[0]
是指向输入的指针,ReceivedBytes
是长度。