CRC和校验和有什么区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CRC和校验和有什么区别?相关的知识,希望对你有一定的参考价值。

CRC和校验和有什么区别?

答案

CRC (Cyclic Redundancy Check)是一种checksum,特别是位置依赖校验和算法(其中包括Fletcher's checksumAdler-32)。正如他们的名字所暗示的那样,它们也会检测位置变化,这使得它们比其他校验和方法更加健壮 - 因此使用得更广泛。

另一答案

CRC是指特定的校验和算法。其他类型的校验和是XOR,模数和所有各种加密哈希值。

另一答案

查看HowStuffWorks,了解两者的不同以及它们之间的区别。

从页面:

循环冗余校验(CRC)

CRC在概念上与校验和类似,但它们使用多项式除法来确定CRC的值

更多信息在上面的链接中给出,包括如何计算校验和的示例。

另一答案

Jeff Atwood(Stack Overflow的创始人)在他的Checksums and Hashes博客文章中写道:

我学会了在我的8位,300波特文件传输日中欣赏循环冗余校验(CRC)算法的价值。如果本地文件的CRC与存储在文件(或服务器)中的CRC匹配,则我有一个有效的下载。当我下载一个带有匹配的CRC损坏的文件时,我也学到了一些关于pigeonhole principle的知识!

checksumerror-detection scheme,通常指加密哈希函数,但它也包括CRC。以下是三种不同类型的校验和:

Cyclic Redundancy Checks这样的CRC32很快但容易发生碰撞。它们对collision attacks不健壮,这意味着某人可以采用给定的CRC并轻松地获得匹配它的第二个输入。

Cryptographic hash functions(较弱),MD5(弱)和SHA1(强)的SHA256专门设计用于抵抗碰撞攻击。除速度外,它们在各种情况下都优于CRC;使用你可以计算得出的最强大的算法。

Key derivation functionsPBKDF2这样的bcrypt是专为密码而设计的。它们是校验和,计算成本昂贵,因此它们对brute-force attacks很强大。

另见Crypto.SE question on CRC vs SHA1。维基百科有一个hash function security summary页面,讨论各种加密哈希的碰撞倾向。

以上是关于CRC和校验和有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章

crc校验大小写有区别吗

CRC校验的原理是啥?

什么是CRC校验码?

CRC校验失败怎么办?

Validator校验器(解决多个异步检验)

CRC校验8