使用 crcmod 在 Python 中生成校验和

Using crcmod to generate a checksum in Python

我正在尝试从 Python 中的自定义 crcmod 中获得我期望的结果 3.

我目前有以下

#                poly,        initCrc,    rev,   xorOut
crc32 = mkCrcFun(0x104c11db7, 0xFFFFFFFF, False, 0xFFFFFFFF)
print(hex(crc32(b'\x0f\x0f\x0f\x0f')))

这会打印 0x94913aa6。但是,我希望看到 0x5395e7dd,我使用以下设置计算 here

我确定该网站正在生成预期的校验和。我就是无法 crcmod 终生复制它。有什么见解吗?

使用mkCrcFun(0x104c11db7, 0, False, 0xFFFFFFFF).

这是因为“初始值”有不止一种含义。在crcmod的情况下,表示初始寄存器值。在 CRC 网页的情况下,它表示返回的 CRC 的初始值。在后一种情况下,初始寄存器值是初始 CRC 值与最终异或值异或。