任何时候将数据存储在计算机中以进行传输时,都需要确保数据不被破坏。如果发送了损坏的数据,则传输的数据将不正确,并且可能无法按预期工作。因此,需要一种错误检测系统,该系统在进行任何加密或传输之前检查所有输入的数据是否正常并且没有损坏。有两种主要方法可以检查数据。
校验和可以说是最古老的方法,用于在发送所有数据之前对其进行验证。校验和还有助于验证数据,因为原始数据和输入的数据应一致。如果发现异常,称为无效校验和,则表明在给定方法中可能存在数据泄露问题。
循环冗余校验或通常称为CRC的概念也是在数据验证中使用的一个概念。 CRC使用的原理类似于校验和,但是不是使用校验和使用的8字节系统来检查数据一致性,而是使用多项式除法来确定CRC。 CRC最常见的长度是16或32位。如果缺少单个字节,则会在数据中标记不一致,因为它不会与原始数据相加。
差异性
两者之间注意到的差异之一是,CRC在检查数据异常时采用了基于16位或32位编码的数学公式,而不是基于8字节的校验和。 CRC基于散列方法,而校验和则通过将可能以8位或16位出现的所有截断数据相加得到其值。因此,CRC具有将数据错误识别为哈希系统中丢失的单个位的更大能力,这会改变总体结果。
另一方面,校验和要求较少的透明性,并且由于它使用了带有变量的字节加法,因此将提供足够的错误检测。因此,可以说CRC的主要目的是捕获在模拟模式下数据传输期间可能出现的各种错误。另一方面,可以说校验和的设计仅是为了指出软件实施过程中可能发生的常规错误。
CRC是对校验和的改进。如前所述,校验和是一种传统的计算形式,而CRC只是对算术的一种进步,它增加了计算的复杂性。从本质上讲,这会增加现有的可用模式,因此该方法可以检测到更多错误。校验和已显示主要检测单位错误。但是,CRC可以检测在数据计算中观察到的任何双位错误。在理解这两种数据验证方法之间的差异时,我们收集了有关为什么在Internet协议中携手使用这两种方法的知识,因为它减少了Internet协议发生的脆弱性。
总结:
- 在检查错误和报告方面,与校验和相比,CRC更彻底。
- 校验和是两个程序中较旧的一个。
- 与校验和相比,CRC的计算更为复杂。
- 校验和主要检测数据中的单比特变化,而CRC可以检查和检测两位数的错误。
- 由于CRC功能更复杂,因此可以检测到比校验和更多的错误。
- 在实现软件时,校验和主要用于数据验证中。
- CRC主要用于模拟数据传输中的数据评估。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:CRC和校验和
本文链接:https://www.vsdiffer.com/vs/crc-vs-checksum.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。