CRC和校验和之间的差异

Anonim

CRC vs Checksum

无论何时将数据存储在计算机中以发送它,都需要确保数据不被破坏。如果发送了损坏的数据,则会传输不准确的数据,并且可能无法按预期工作。因此,需要一种错误检测系统,该系统在任何加密或传输发生之前检查所输入的所有数据是否正常并且没有损坏。检查数据有两种主要方法。

校验和可以说是在发送之前用于验证所有数据的最古老的方法。校验和还有助于验证数据,因为原始数据和输入的数据应符合。如果注意到异常(称为无效校验和),则表明在给定方法中可能存在数据泄露。

循环冗余校验或通常所指的CRC是在数据验证中也采用的概念。 CRC使用的原理类似于校验和,但不是使用Checksum使用的8字节系统来检查数据一致性,而是在确定CRC时使用多项式除法。 CRC最常见的是16或32位长度。如果缺少单个字节,则会在数据中标记不一致,因为它不会与原始数据相加。

差异

2之间注意到的差异之一是CRC采用基于16位或32位编码的数学公式,而不是基于检查数据异常的8个字节的校验和。 CRC基于哈希方法,而Checksum从所有截断数据的加法获得其值,该数据可以是8位或16位。因此,CRC具有更强的识别数据错误的能力,因为哈希系统中缺少单个位,这改变了整体结果。

另一方面,校验和需要较少的透明度,并且将提供充分的错误检测,因为它使用了变量的字节。因此,可以说CRC的主要目的是捕获在模拟模式下传输数据期间可能出现的各种错误。另一方面,校验和可以说是为了记录软件实现过程中可能发生的常规错误而设计的。

CRC是对校验和的改进。如前所述,校验和是一种传统的计算形式,而CRC仅仅是算术的进步,增加了计算的复杂性。实质上,这增加了存在的可用模式,因此该方法可以检测到更多错误。校验和已被证明主要检测单比特错误。但是,CRC可以检测在数据计算中观察到的任何双位错误。在理解两种数据验证方法之间的差异时,收集了关于为什么这两种方法在因特网协议中一起使用的原因,因为它减少了因特网协议发生的脆弱性。

摘要:

- 在检查错误和报告时,CRC与Checksum相比更彻底。

- Checksum是两个程序中较旧的一个。

- 与校验和相比,CRC具有更复杂的计算。

- 校验和主要检测数据中的单比特变化,而CRC可以检查和检测两位数的错误。

- 由于其功能更复杂,CRC可以检测到比校验和更多的错误。

- 实现软件时,校验和主要用于数据验证。

- CRC主要用于模拟数据传输中的数据评估。