环境
需要安装crcmod模块
>>pip install crcmod
代码
import crcmod
import binascii
'''
计算CRC,PLOY:8b32,INIT:0020,XOROUT:0000
str - 输入hex字符串,'F7 00 20 C0 88 07',或'0xF7,0x00,0x20,0xC0,0x88,0x07'
'''
def crc(str):
crc32_func = crcmod.mkCrcFun(0x18b32, rev=False, initCrc=0x0020, xorOut=0x0000)
input = str.replace(' ','').replace('0x','').replace(',','')
print(hex(crc32_func(binascii.unhexlify(input))))
参数
mkCrcFun()函数可修改的常用参数依次为:
mkCrcFun(ploy, [initCrc, xorOut])
样例
>>>crc('F7 00 20 C0 88 07')
0x4ef6
>>>crc('FC9C67E0')
0xa368