从输入和结果开始检测CRC版本

时间:2013-12-19 19:07:38

标签: python crc

我有一个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是长度。

0 个答案:

没有答案