前言
md5的简单记录
定义
MD5,全称Message Digest Algorithm 5,翻译过来就是消息摘要算法第5版,是计算机安全领域广泛使用的一种散列函数,用于确保信息传输的完整性。MD5算法是由MD2、MD3、MD4演变而来,是一种单向加密算法,一种不可逆的加密方式。
特点
1.长度固定
不管多长的数据,经过MD5加密后其MD5值长度都是固定的。MD5值长度固定为128位,而最后的值一般都用16进制数字表示,一个16进制数字占4位,所以最后的MD5值都是用32个16进制数字表示。
2.计算简单
MD5算法说到底还是散列算法,或者叫做哈希算法,所以计算一个数据的MD5值是比较容易的,同时加密速度也是很快的。
3.抗修改性
对原数据进行任何改动,哪怕只是修改1个字节,所得到的MD5值都有很大的区别。
4.强抗碰撞性
已知原数据和其MD5值,很难找到具有相同MD5值的数据,即很难伪造数据。这里的碰撞在后面的安全性中会提到,在这里我们简单理解为一种破解手段。
实现原理
略
应用场景
1、密码认证
像常见的用户登录,密码会用md5加密然后对比数据库的存的密码的md5。
2、一致性验证
比如:前端上传文件,上传时多传一个根据文件生成的md5,服务端收到文件和md5,根据收到的文件生成一个md5,对比前端传过来的md5,就能知道上传的文件有没有被篡改。
安全
虽然md5加密不可逆,但是也不是没办法破解的。比如通过假设用户密码,然后生成密码的md5,然后去尝试。于是人们就通过组合密码等多个字段进行md5加密来增加安全。
后语
谢谢阅读!!!