现在的位置: 首页 > 综合 > 正文

一起来学信息安全知识(4)——CRC, MD5, SHA1的关系与区别

2013年08月16日 ⁄ 综合 ⁄ 共 500字 ⁄ 字号 评论关闭

 

经常有人问,说CRC、MD5、SHA1都是计算一个校验值的,到底有何区别? 希望我下面的描述能让大家有个了解。

 

相同点:

CRC、MD5、SHA1都是通过对数据进行计算,来生成一个校验值,该校验值用来校验数据的完整性。

 

不同点:

1. 算法不同。CRC采用多项式除法,MD5和SHA1使用的是替换、轮转等方法;

2. 校验值的长度不同。CRC校验位的长度跟其多项式有关系,一般为16位或32位;MD5是16个字节(128位);SHA1是20个字节(160位);

3. 校验值的称呼不同。CRC一般叫做CRC值;MD5和SHA1一般叫做哈希值(Hash)或散列值;

4. 安全性不同。这里的安全性是指检错的能力,即数据的错误能通过校验位检测出来。CRC的安全性跟多项式有很大关系,相对于MD5和SHA1要弱很多;MD5的安全性很高,不过大概在04年的时候被山东大学的王小云破解了;SHA1的安全性最高。

5. 效率不同,CRC的计算效率很高;MD5和SHA1比较慢。

6. 用途不同。CRC一般用作通信数据的校验;MD5和SHA1用于安全(Security)领域,比如文件校验、数字签名等。

 

我后续再对安全相关的知识逐一讲解吧。

抱歉!评论已关闭.