校验和与CRC有什么区别?
让我们首先了解校验和的概念。
校验和
校验和是一个可以验证文档或数据传输完整性的值。校验和通常用于比较两组数据以确保它们相等。
许多常见应用程序都包含验证磁盘映像或测试下载文件完整性的功能。如果校验和与原始文档的校验和不匹配,则数据可能已被更改或损坏。
可以使用不同的算法以多种不同的方式计算校验和。例如,基本的校验和可以简单地是文件中多个字节的总和。
但是,这种类型的校验和不太稳定,因为可以更改两个或多个字节的顺序。即使数据不同,生成的校验和也可能相似。
因此,通常使用更高级的校验和算法来验证数据。这些算法包括循环冗余校验 (CRC) 算法和加密哈希函数。
从消息生成校验和的过程称为校验和函数,并使用校验和算法实现。高效的校验和算法在消息损坏时会产生多种结果,具有很高的概率。
奇偶校验位和校验位是与少量数据相关的独特校验和示例。基于校验和的特定纠错码甚至足以改进原始数据。
CRC
CRC 代表循环冗余校验。它被插入到数据帧中,可以发现丢失的帧,接收设备中的数据链路层可以请求数据。它还可以查看何时丢失帧并请求再次通信。
CRC 使用比简单的校验和更复杂的算法导出,包括模算术(因此称为“循环”)并将每个输入字视为多项式的系数集合。
这是一种用于查找数字信息中错误的技术。作为一种校验和,CRC 基于文件或更大数据集的构建创建固定长度的数据集。CRC 是一种哈希函数,用于检测对通常用于数字电信网络和存储设备(包括硬盘驱动器)的原始设备数据的意外更改。
CRC 是一种通常用于检测常见传输错误的技术。循环冗余校验也用于硬盘等存储设备。在这种情况下,校验位分配给硬盘中的每个块。
当计算机读取违规或不足的文件时,会触发循环冗余错误。CRC 可能来自另一个存储设备或 CD/DVD。错误的常见原因包括系统崩溃、不足或损坏的文件,或包含多个错误的文件。