java crc32校验查表法_CRC32校验算法(查表法)

CRC算法参数

CRC result width: 32 bits

Polynomial: 04C11DB7h

Initial value: FFFFFFFFh

Input data reflected: Yes

Result data reflected: Yes

XOR value: FFFFFFFFh

计算方法:

1.先要知道多项式是什么样子,以这个IEEE802.3标准CRC32多项式为例:x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x+ 1

2.转换成一个值

x32 则对应32bit = 1, x26 则对应26bit=1,得出一个值:(1<<32)|(1<<26)|(1<<23)|(1<<22)|…|(1<<1)|(1)=0x104C11DB7,对于CRC32取低32位,则=0x4C11DB7

3.用这个值通过一定方法生成长度为256的码表,对于CRC32表内每个元素都为32bit.

4.用一定的方法查表得出CRC32值。

验证Tool:

CRC在线计算

Source Code:

#include

using namespace std;

static unsigned long table[256];

//位逆转:

static unsigned long bitrev(u


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部