java实现crc校验
public int checkCrc(byte[] inBuf, int startIdx, int endIdx) {
try {
int wCRCin = 0x0000;
int wCPoly = 0xA001;
for (int i = startIdx; i < endIdx; i++) {
wCRCin ^= ((int) inBuf[i] & 0x00ff);
for (int j = 0; j < 8; j++) {
if ((wCRCin & 0x0001) != 0) {
wCRCin >>= 1;
wCRCin ^= wCPoly;
} else {
wCRCin >>= 1;
}
}
}
wCRCin ^= 0x0000;
return wCRCin;
} catch (Exception ex) {
log.error("数据解析CRC校验错误,ex:{0}", ex);
}
return 0;
}