以下是 Python 实现 CRC-CCITT(0x1021 多项式)的代码:
def crc_ccitt(data):crc = 0xFFFFfor byte in data:crc ^= (byte << 8)for _ in range(8):crc = (crc << 1) ^ 0x1021 if crc & 0x8000 else crc << 1crc &= 0xFFFFreturn crc
说明:初始化 CRC 为 0xFFFF,逐字节处理,每次左移并根据最高位决定是否异或多项式 0x1021,最终返回 16 位校验值。
|
|