crc校验c语言实现
时间: 2023-08-17 21:09:16 浏览: 25
以下是一个简单的C语言实现CRC校验的示例代码:
```c
#include <stdio.h>
// 计算CRC校验值
unsigned int crc32(const unsigned char *message, int length) {
int i, j;
unsigned int byte, crc, mask;
i = 0;
crc = 0xFFFFFFFF;
while (i < length) {
byte = message[i];
crc = crc ^ byte;
for (j = 7; j >= 0; j--) {
mask = -(crc & 1);
crc = (crc >> 1) ^ (0xEDB88320 & mask);
}
i = i + 1;
}
return ~crc;
}
int main() {
unsigned char message[] = "Hello, world!";
unsigned int crc = crc32(message, sizeof(message)-1);
printf("CRC32: %08X\n", crc);
return 0;
}
```
这个示例代码中,crc32函数接收一个消息(message)和消息长度(length),返回计算得到的CRC校验值。在main函数中,我们传入了一个字符串作为消息,并打印计算得到的CRC32值。
请注意,此处使用的是标准的CRC-32算法,即多项式0xEDB88320。你可以根据需要进行修改。
相关推荐
















