根据Python中的Rocksoft模型CRC算法,使用生成器多项式1EDC6F41h计算CRC32C(Castagnoli)

2024-04-18 02:13:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我确实研究过Crcmod python库,但是不能使用它,因为我的gen poly-0x1EDC6F41不被认为是一个32位poly:(有什么方法可以调整它或任何其他python库,我可以用它来做这件事?在

名称:“CRC-32C”

32:宽度

聚乙烯:1EDC6F41h

初始化:ffffffff h

RefIn:对

重新引出:真

xRout:FFFFFFFF H

支票:E3069283h

这是我尝试的-

import crcmod
f = crcmod.mkCrcFun(0x1EDC6F41)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\Lib\site-packages\crcmod\crcmod.py", line 281, in mkCrcFun
    (sizeBits, initCrc, xorOut) = _verifyParams(poly, initCrc, xorOut)
  File "C:\Python27\Lib\site-packages\crcmod\crcmod.py", line 405, in _verifyParams
    sizeBits = _verifyPoly(poly)
  File "C:\Python27\Lib\site-packages\crcmod\crcmod.py", line 302, in _verifyPoly
    raise ValueError(msg)
ValueError: The degree of the polynomial must be 8, 16, 24, 32 or 64

Tags: inpylibpackageslinesitefilepython27