基础知识:
1.生成多项式G(x):是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中,这个数始终保持不变。
crc32既采用生成多项式是一个最高次幂是32的多项式,每一个生成多项式对应一个二进制数。
2.模2除法:除数与被除数高位对齐,按位做异或运算(相同为0,不同为1)。
3.CRC校验码位数 = 生成多项式位数 -1。
crc校验规则:
1将生成多项式G(x)转换成对应的二进制数,作为除数。
2.把原始报文C(x)左移(CRC校验码位数)。
3.用生成多项式对应的二进制数对左移后的原始报文进行模2除,得到余数。
4.将余数拼到信息码左移后空出的位置得到完整的CRC码。