CRC和checksum的区别

2024年11月18日 12:48
有2个网友回答
网友(1):

一、定义不同:

1.CRC:

是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术。

2.checksum:

在数据处理和数据通信领域中,用于校验目的的一组数据项的和。

二、作用不同:

1.CRC:

用除法及余数的原理来作错误侦测。

2.checksum:

保证数据的完整性和准确性。

扩展资料

在数据传输过程中,无论传输系统的设计再怎么完美,差错总会存在,这种差错可能会导致在链路上传输的一个或者多个帧被破坏(出现比特差错,0变为1,或者1变为0),从而接受方接收到错误的数据。

为尽量提高接受方收到数据的正确率,在接收方接收数据之前需要对数据进行差错检测,当且仅当检测的结果为正确时接收方才真正收下数据。检测的方式有多种,常见的有奇偶校验、因特网校验和循环冗余校验等。

循环冗余校验是一种用于校验通信链路上数字传输准确性的计算方法(通过某种数学运算来建立数据位和校验位的约定关系的)。

参考资料来源:百度百科-CRC

参考资料来源:百度百科-Checksum

网友(2):

1,
在不同的场合,checksum 具有不同的含义,仅仅可以看做“校验”,但并没有指定具体的校验方法,可以是“奇偶校验”、“加和校验”、“crc16校验”等不同的校验方法。不同的场合有不同的约定。

2,
CRC指的是循环冗余校验,本身就有不同的初始化条件和参数。有一般所指,就是 CRC16,采用 ISO 标准,初始值 0x00。但也有美国IBM标准的,除非特指。

3,
因此,这个技术问题需要详细的参数和算法约定,那样才公平。省事的做法还是指定同一个软件进行校验即可。