CRC16校验

在线生成CRC16校验码

工具简介

通过本工具可以在线生成CRC16算法校验码。

 

CRC16算法原理

1. 根据CRC16的标准选择初值CRCIn的值;

2. 将数据的第一个字节与CRCIn高8位异或;

3. 判断最高位,若该位为 0 左移一位,若为 1 左移一位再与多项式Hex码异或;

4. 重复3直至8位全部移位计算结束;

5. 重复将所有输入数据操作完成以上步骤,所得16位数即16位CRC校验码。

 

CRC16各标准差异对比

CRC16_CCITT:

多项式x^16+x^12+x^5+1(0x1021),初始值0x0000,低位在前,高位在后,结果与0x0000异或;

CRC16_CCITT_FALSE:

多项式x^16+x^12+x^5+1(0x1021),初始值0xFFFF,低位在后,高位在前,结果与0x0000异或;

CRC16_XMODEM:

多项式x^16+x^12+x^5+1(0x1021),初始值0x0000,低位在后,高位在前,结果与0x0000异或;

CRC16_X25:

多项式x^16+x^12+x^5+1(0x1021),初始值0x0000,低位在前,高位在后,结果与0xFFFF异或;

CRC16_MODBUS:

多项式x^16+x^15+x^2+1(0x8005),初始值0xFFFF,低位在前,高位在后,结果与0x0000异或;

CRC16_IBM:

多项式x^16+x^15+x^2+1(0x8005),初始值0x0000,低位在前,高位在后,结果与0x0000异或;CRC16_MAXIM:多项式x^16+x^15+x^2+1(0x8005),初始值0x0000,低位在前,高位在后,结果与0xFFFF异或;

CRC16_USB:

多项式x^16+x^15+x^2+1(0x8005),初始值0xFFFF,低位在前,高位在后,结果与0xFFFF异或;

 

 

评分

0 / 5

0 人评分