class Crc8: def __init__(s): s.crc=255 def hash(s,int_list): for i in int_list: s.addVal(i) return s.crc def addVal(s,n): crc = s.crc for bit in range(0,8): if ( n ^ crc ) & 0x80: crc = ( crc << 1 ) ^ 0x31 else: crc = ( crc << 1 ) n = n << 1 s.crc = crc & 0xFF return s.crc #print(Crc8().hash([1,144])) #print(hex(Crc8().hash([0xBE, 0xEF]))) #[1, 144, 76, 0, 6, 39]