62,620
社区成员
发帖
与我相关
我的任务
分享
求分
public class Test01 {
public static void main(String[] args) {
int crc = CRC16(new byte[] { 0x01, 0x02, 0x03, 0x04, 0x03, 0x02 }, 6);
System.out.println(Integer.toHexString(crc));
}
static int CRC16(byte[] buffer, int len) {
int index = 0;
int crc = 0;
while (len-- > 0) {
crc = (crc >> 8) | (crc << 8);
crc ^= buffer[index++];
crc ^= (crc & 0xff) >> 4;
crc ^= (crc << 8) << 4;
crc ^= ((crc & 0xff) << 4) << 1;
crc &= 0xFFFF;
}
return crc;
}
}
