如何正确计算CRC32?

时间:2015-02-11 16:25:02

标签: python crc32

item = '04010034587C1F0C6D51B6D33B78CA63C1CC7E5910006C5600000000000000'
'%08X' % (binascii.crc32(binascii.a2b_hex(item)) & 0xffffffff)

我无法让crc32给我正确的32位。我尝试了几种不同的算法。我用这段代码得到'3228F9E4',但根据另一个使用的程序,正确的crc32应该是'E42FDBEC'。多项式为'04C11DB7',初始余数为'00000000'。

如何正确计算?

1 个答案:

答案 0 :(得分:2)

特定CRC impelmentation由多项式,可选的初始值和可能的最终XOR指定。位顺序也很重要。

binutils文档说:

  

计算CRC-32,32位校验和数据,从初始crc开始。这与ZIP文件校验和一致

确保使用正确的初始值作为参考实施。 (crc32的第二个参数)

相关问题