Advertisement

C语言中的CRC32哈希校验算法

阅读量:

#include "stdio.h"

static unsigned int table[256];

// Bit Reversal
static unsigned int BitReversal(unsigned int input, int bit_width) {
unsigned int var = 0;
for (int i = 0; i < bit_width; ++i) {
if (input & 1) {
var |= 1 << (bit_width - 1 - i);
}
input >>= 1;
}
return var;
}

//参数初始化
//其中多项式系数为0x10005、0x8D5、…、0x9、0x1
void crc32_init(unsigned int poly, unsigned int (*table)(())) {
//定义循环变量
int i;
//定义循环计数器
int j;
//定义临时变量用于存储中间结果
unsigned int c = 0;
}

poly=bitrev(poly,32);
for(i=0; i<256; i++)
{
c = i;
for (

全部评论 (0)

还没有任何评论哟~