用java实现crc码
时间: 2024-03-15 16:22:43 浏览: 18
下面是Java实现CRC校验码的示例代码:
```java
public class CrcUtil {
public static final int CRC16_CCITT = 0x1021;
private static final int PRESET_VALUE = 0xFFFF;
/**
* 计算CRC16校验码
* @param data 数据
* @return 校验码
*/
public static int crc16(byte[] data) {
int crc = PRESET_VALUE;
for (byte b : data) {
crc = crc ^ (b & 0xff);
for (int i = 0; i < 8; i++) {
if ((crc & 0x0001) == 1) {
crc = (crc >> 1) ^ CRC16_CCITT;
} else {
crc = crc >> 1;
}
}
}
return ~crc & 0xffff;
}
}
```
在上面的代码中,我们使用了一个常量CRC16_CCITT表示CRC-16 CCITT的生成多项式,PRESET_VALUE表示CRC校验的初始值。crc16方法接收一个byte数组作为参数,返回计算出来的CRC校验码。