博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CRC与MD5的异同
阅读量:6251 次
发布时间:2019-06-22

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

hot3.png

php中CRC32的用法:

crc32 — 计算一个字符串的 crc32 多项式

生成 string 参数的 32 位循环冗余校验码多项式……:

这句话从英文翻译过来的,不正确,准确的说应该是这么理解:

以32位循环冗余校验多项式算法,来计算一个字符串,返回一个(可能带符号的)整数。

使用方法:

这个函数的功能类似于md5算法、sha1算法加密。这个函数的使用过程中,需要多考虑取返回的整数的绝对值就可以了。

至于如何能做到检查传输的数据是否完整:

参考md5的常见使用场景。

32位循环冗余校验多项式:这个是一个数学算法,在php的源码内可以看到。你可以当作他是一个md5算法的数字版。

经常有人问,说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)领域,比如文件校验、数字签名等。

转载于:https://my.oschina.net/jinhengyu/blog/1571822

你可能感兴趣的文章
总结系列_14(OpenCV2.4.3的新特征以及安装方法)
查看>>
虚拟地址空间分配
查看>>
HDU 4465 - Candy(概率与数学优化)
查看>>
提高你的Java代码质量吧:使用构造函数协助描述枚举项
查看>>
Struts2 学习笔记20 类型转换part2 写自己的转换器
查看>>
网站接入支付宝
查看>>
mybatis+spring配置
查看>>
新浪微博客户端(31)-显示相册图片上的GIF标记
查看>>
idea 项目打包发布
查看>>
x:Name 与 Name 有时候是不一样的。
查看>>
【ASP.NET】如何在asp后台实现弹出对话框
查看>>
XSS (Cross Site Scripting) Prevention Cheat Sheet(XSS防护检查单)
查看>>
Windows下将程序打包为安装包(最为简易的方式)
查看>>
这个月干啥去了?——H5+移动应用实战开发
查看>>
GMT时间转换为当地时间的方法
查看>>
分布式拒绝服务攻击 DDoS
查看>>
Netstat命令详解
查看>>
软件测试面试题整理
查看>>
Jmeter-Maven-Plugin高级应用:Proxy Configuration
查看>>
20. Spring Boot Servlet【从零开始学Spring Boot】
查看>>