MD5加密

简介:MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),它是一种单向加密算法,可以将输入的信息加密转换为128位固定长度的散列值,用于检验数据传输过程中的完整性。在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。

出现的两种观点:
1.MD5属不属于加密算法,因为只可以加密,无法获得密码原文,只能属于算法。
2.正因为看不到原文,使得原文得到加密处理。

特性:
1.不可逆运算
2. 具有高度的离散性
3. 对相同的数据加密,得到的结果是一样的(也就是复制)。
4.弱碰撞性

用途:
1.密码的加密存储
2.一致性检验
3.文件上传

其他:
1.作为一种散列算法,虽然很难发生散列碰撞,但是经过证实,仍然存在两种不同数据会发生碰撞。
2.将用户的密码直接MD5后存储在数据库是不安全的,需要随机盐值的配合。(加盐)

加盐:“盐”就是一串比较复杂的字符串。加盐的目的是加强加密的复杂度,这么破解起来就更加麻烦(前提是“盐”没泄漏出去!)
一般使用的加盐:
md5(Password+UserName),即将用户名和密码字符串相加再MD5,这样的MD5摘要基本上不可反查。
但有时候用户名可能会发生变化,发生变化后密码即不可用了。

有人可能头晕,既然是不可逆的,为什么会有破解:
博主说的破解是伪破解,相信大家在网上查MD5解密会出现一堆的工具,这是为什么呢?
比如,123456通过md5加密后是e10adc3949ba59abbe56e057f20f883e,将其放入数据库的,下次通过数据库查询自然也能查询到,所以不过的一个数据库的查询。

所以大多时候,没有绝对的不可破解,为了加强破解难度,可以多种加密算法一起配合使用
附件:MD5Utils(MD5加密工具类!未加盐)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值