package rfid func CRC16XMODEM(data []byte) uint16 { var crc uint16 = 0x0000 // 初始化 CRC 值 polynomial := uint16(0x1021) for _, b := range data { crc ^= uint16(b) << 8 for i := 0; i < 8; i++ { if crc&0x8000 != 0 { crc = (crc << 1) ^ polynomial } else { crc <<= 1 } } } return crc }