CRC计算输出

CRC calculation output

本文关键字:输出 计算 CRC      更新时间:2023-10-16

0是循环冗余校验(CRC)的可能校验和吗?

我正在使用boost来计算CRC:

const unsigned int CrcPolynomial = 0x11021;
const unsigned short InitialValue = 0xffff;
boost::crc_optimal<16, CrcPolynomial, InitialValue, 0, true, true> Crc;
// process some bytes...
int x = Crc.checksum(); // <------ can this be 0?

是。取任意消息x,并计算其CRC crc(x)。则crc(x . crc(x))为0(其中.表示串联)。

事实上,这种关系可以用来验证消息+ CRC是否被正确传输(例如,参见http://en.wikipedia.org/wiki/Computation_of_CRC上的第二个动画图)。