crc16-ccitt java代码
时间: 2023-07-02 07:12:18 浏览: 63
以下是一个简单的Java实现CRC16-CCITT的代码示例:
```java
public class CRC16CCITT {
private static final int polynomial = 0x1021;
private static final int initialValue = 0xFFFF;
public static int calculate(byte[] data) {
int crc = initialValue;
for (byte b : data) {
crc ^= (int) b << 8;
for (int i = 0; i < 8; i++) {
if ((crc & 0x8000) != 0) {
crc = (crc << 1) ^ polynomial;
} else {
crc <<= 1;
}
}
}
return crc & 0xFFFF;
}
public static void main(String[] args) {
String message = "Hello, world!";
byte[] data = message.getBytes();
int crc = calculate(data);
System.out.printf("CRC16-CCITT: 0x%04X\n", crc);
}
}
```
在运行此代码时,它将输出计算出的CRC16-CCITT值。请注意,此代码假定输入数据的字节顺序为大端。如果您的系统使用小端字节顺序,请相应地进行更改。