[转]JAVA实现CRC-CCITT(XMODEM)算法 CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。1 byte checksum CRC-16 CRC-16 (Modbus) CRC-16 (Sick) CRC-CCITT (XModem) CRC-CCITT (0xFFFF)...
CRC-ITU(CCITT) x16+x12+x5+1 0x1021 ISO HDLC, ITU CRC-32 x32+x26+x23+...+x2+x+1 0x04C11DB7 ZIP, RAR CRC-32c x32+x28+x27+...+x8+x6+1 0x1EDC6F41 SCTP 说明:简记式最高位应为1,此处都省略了; 二.实现方法 本文章所要讲的标准为CRC-ITU(CCITT-Xmodem),即生成多项式为0x1021 0x...
CRC16_CCITT:多项式x16+x12+x5+1(0x1021),初始值0x0000,低位在前,高位在后,结果与0x0000异或 CRC16_CCITT_FALSE:多项式x16+x12+x5+1(0x1021),初始值0xFFFF,低位在后,高位在前,结果与0x0000异或 CRC16_XMODEM:多项式x16+x12+x5+1(0x1021),初始值0x0000,低位在后,高位在前,结果与0x0000异或 CRC16_X25:...
我正在使用以下函数来生成 CRC 和,与在线 CRC-CCITT 计算器相比,它似乎没有返回相同的校验和。此函数专门使用 XMODEM CRC 生成与 0x8408 多项式,初始 fcs 为 0xFFFF。uint16_t crc16(uint8_t byte, uint16_t fcs) { uint8_t bit; for(bit=0; bit<8; bit++) { fcs ^= (byte & 0x01); fcs ...
在这个例程中,我们使用了CRC-CCITT(XModem)算法来计算CRC校验值。该算法使用了一个16位的多项式0x1021(生成多项式),并通过按位异或、移位等操作对输入数据进行处理,最终得到一个16位的校验值。 在代码中,我们首先定义了一个POLY常量,表示CRC-16多项式。然后我们定义了一个crc_ccitt()函数,用于计算CRC校验值。在这...
运行之后成功就可以得出CRC-CCITT (XModem)的标准验证值:31C3(在线计算网站:On-line CRC calculation and free library) 驱动表法 实际上CRC就像开心消消乐一样,就是不断消除首位数据。这时你想:要是能一口气消除一个字节(8bit)以上的数据那该多好!
CRC-16-XMODEM在网络通信中被广泛使用,用于检测数据传输过程中的错误。 5.CRC-16-USB: CRC-16-USB是一种CRC16算法,用于USB通信中的数据完整性校验。它使用多项式0x8005,并且初始值为0xFFFF。CRC-16-USB广泛应用于USB设备之间的数据传输,确保传输的数据准确性。 6.CRC-16-CCITT-FALSE: CRC-16-CCITT-FALSE是...
这里要注意,CRC在线计算器中定义的CRC-16/CCITT是输入数据反转和输出数据反转的,而样例代码中指定的crc16_ccitt配置参数,实际对应CRC在线计算器的CRC-16/XMODEM计算配置。如果在样例代码中,设定配置参数.EnableOutputBitSwap = true和.EnableInputBitSwap = true,也可以得到同CRC在线计算器定义的CRC-16/CCITT算式相同的...
CrcTest(crc16_CCITT_FALSE); CrcTest(crc16_X25); CrcTest(crc16_XMODEM); CrcTest(crc16_DNP); CrcTest(crc32); CrcTest(crc32_MPEG2); return 0; } 注意 不同的CRC算法,对00H或FFH数据流的计算结果不一样,部分算法存在校验结果也为00H或FFH的情况(也就意味着存储空间处于初始化状态时:全0或全1...
(data) - 1, crc1); name = "CRC-16/CCITT-FALSE"; polynomial = 0x1021; width = 16; initial_value = 0xffff; input_reflected = false; result_reflected = false; final_xor_value = 0; crc1 = crc(data, sizeof(data) - 1, polynomial, 16, initial_value, input_reflected, result_...