java CRC 校验x16 + x12 + x2 + 1实现
时间: 2023-08-13 17:07:46 浏览: 230
java实现CRC16校验功能
4星 · 用户满意度95%
以下是Java实现CRC校验x16 + x12 + x2 + 1的代码示例:
```java
public class Crc16 {
private static final int POLY = 0x1021; // x16 + x12 + x2 + 1
public static int crc(byte[] bytes) {
int crc = 0xFFFF;
for (byte b : bytes) {
crc ^= (b & 0xFF) << 8;
for (int i = 0; i < 8; i++) {
if ((crc & 0x8000) != 0) {
crc = (crc << 1) ^ POLY;
} else {
crc <<= 1;
}
}
}
return crc & 0xFFFF;
}
}
```
使用方法:
```java
byte[] bytes = {0x01, 0x02, 0x03, 0x04};
int crc = Crc16.crc(bytes);
System.out.println("CRC16校验结果:" + Integer.toHexString(crc));
```
其中,`bytes`是需要进行CRC校验的数据,`crc`是计算得出的校验结果。注意,最终的校验结果需要转换为16进制字符串输出。
阅读全文