要用python计算crc8校验码,百度找到的自己编写的函数都不行,刚好看到有人介绍了一个第三方库可以计算crc校验码。
import os
import binascii
import crcmod.predefined
class CRCGenerator(object):
def __init__(self):
self.module = 'crc-8-maxim'
def create(self,input):
crc8 = crcmod.predefined.Crc(self.module)
hexData = input
print(hexData)
hexData =binascii.unhexlify(hexData)
crc8.update(hexData)
result = hex(crc8.crcValue)
print(result)
return result
if __name__=="__main__":
crc =CRCGenerator()
crc.create('1E00100463FA0F0219216800220260180524000110001611329355AA')
##简化
crc8 = crcmod.predefined.Crc('crc-8-maxim')
hexData = '1E00100463FA0F0219216800220260180524000110001611329355AA'
hexData =binascii.unhexlify(hexData)
crc8.update(hexData)
result = hex(crc8.crcValue)
print(result)
运行结果:
<<< 0xb1