一起来学信息安全知识(4)——CRC, MD5, SHA1的关系与区别
2011-08-25 09:21
726 查看
经常有人问,说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)领域,比如文件校验、数字签名等。
我后续再对安全相关的知识逐一讲解吧。
相同点:
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)领域,比如文件校验、数字签名等。
我后续再对安全相关的知识逐一讲解吧。
相关文章推荐
- 一起来学信息安全知识(2)——对称密码和非对称密码
- CRC、MD5、SHA1 有何区别?
- 一起来学信息安全知识(1)——一个小故事的大道理
- 一起来学信息安全知识(3)——签名
- 工业控制系统信息安全与信息安全、功能安全的区别【转自工控工程网】
- 摘要算法CRC8、CRC16、CRC32,MD2 、MD4、MD5,SHA1、SHA256、SHA384、SHA512,RIPEMD、PANAMA、TIGER、ADLER32
- 信息安全方向应该具备什么样的能力和拥有什么样的知识结构比较合理?
- [置顶] 可重入函数与线性安全的区别与关系
- 信息安全基础知识(二)消息摘要与数字签名
- 网络与信息安全——知识整理(1)
- 安全知识基础杀毒软件跟防火墙的区别
- 没知识真可怕——应用密码学的笑话之MD5+Salt不安全
- 信息安全MD5_实验报告与源码
- Message Digests和Digital Signature (信息摘要和数字签名的区别),MD5、RSA、SHA
- 信息安全基础知识
- AES,SHA1,DES,RSA,MD5区别
- 信息安全——MD5的实现
- 注册信息安全知识体系
- 【信息安全】一些数论小知识
- 信息安全常用概念间关系(图)