C语言CRC校验程序代码 编写
时间: 2024-02-10 16:39:54 浏览: 115
CRC校验程序代码
以下是一个简单的C语言CRC校验程序代码:
```
#include <stdio.h>
unsigned int crc32(unsigned char *buf, unsigned int size) {
unsigned int crc = 0xffffffff;
unsigned int table[256] = {0};
unsigned int i, j;
// 初始化CRC表
for (i = 0; i < 256; i++) {
crc = i;
for (j = 0; j < 8; j++) {
crc = crc & 1 ? (crc >> 1) ^ 0xedb88320 : crc >> 1;
}
table[i] = crc;
}
// 计算CRC校验值
crc = 0xffffffff;
for (i = 0; i < size; i++) {
crc = table[(crc ^ buf[i]) & 0xff] ^ (crc >> 8);
}
return crc ^ 0xffffffff;
}
int main() {
unsigned char buf[] = {0x01, 0x02, 0x03, 0x04, 0x05};
unsigned int size = 5;
unsigned int crc = crc32(buf, size);
printf("CRC校验值:%08x\n", crc);
return 0;
}
```
以上代码实现了CRC32校验算法。通过对需要校验的数据进行计算,得到一个32位的校验值,用于验证数据是否被篡改。
阅读全文