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