博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据安全之MD5、SHA-1、CRC32区别
阅读量:5739 次
发布时间:2019-06-18

本文共 786 字,大约阅读时间需要 2 分钟。

crc32 — 计算一个字符串的 crc32 多项式
生成 string 参数的 32 位循环冗余校验码多项式……:
这句话从英文翻译过来的,不正确,准确的说应该是这么理解:
    以32位循环冗余校验多项式算法,来计算一个字符串,返回一个(可能带符号的)整数。
使用方法:
  这个函数的功能类似于md5算法、sha1算法加密。这个函数的使用过程中,需要多考虑取返回的整数的绝对值就可以了。
至于如何能做到检查传输的数据是否完整:
经常有人问,说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)领域,比如文件校验、数字签名等。

 

 

例如mysql提供的三种安全性校验方法:

 

SELECT CRC32("111"),MD5("111"),SHA("111")

 

 

 

转载地址:http://nwfzx.baihongyu.com/

你可能感兴趣的文章
让我们一起摇摆 Turnipbit体感遥控车
查看>>
安装suds报错,ImportError: No module named client
查看>>
Qt5 简单音乐播放器(进击版1)
查看>>
kvm unsupported format character 0xfffff 解决
查看>>
【Photon】引擎简介——百度百科
查看>>
Nginx源码分析系列4:Nginx里的双向链表
查看>>
《JAVA编程思想》学习笔记——第十章 内部类
查看>>
第57课:Spark SQL on Hive配置及实战
查看>>
redis 问题
查看>>
系统系统项目管理工程师20151020作业
查看>>
研究生小论文的投稿技巧
查看>>
阿里面试Java开发工程师
查看>>
PCIe 3.0只待至强E5:LSI SAS9205-8e HBA卡曝光
查看>>
Linux平滑编译升级php至5.5.0
查看>>
vSphere Web Client 5.1: Must be registered with the Lookup Service
查看>>
20150823-Bash的基础特性(1)
查看>>
Android官方的uiautomator例子的实现
查看>>
node记事
查看>>
如何写一个bat批处理自动上传文件到FTP
查看>>
从零开始学习jQuery (六) AJAX快餐
查看>>