MD5密码加密
密码加密
使用工具类的MD5功能方法,加密密码
注册环节:
1. 获取用户输入密码 123456
2. 调用MD5加密密码,保存新的加密密码到数据库
登录环节:
1. 获取用户输入密码 123456
2. 调用MD5加密密码
3. 结合账号和MD5密码,尝试匹配数据数用户登录信息
常用的加密方式:
- 密钥散列,采用MD5和SHA1等散列算法,对明文进行加密。
- 对称加密,采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密
- 非对称加密,是一种密钥的保密方法,他需要两个密钥来进行加密和解密,这两个密钥是公开密钥和私有密钥。
- 数字签名,数字签名是只有信息的发送者才能产生的别人无法伪造的一段字符串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
MD5加密的优缺点:
优点:1.计算速度快,加密速度快,不需要密钥;
2.可以检查文件的完整性,一旦文件被更改,MD5值也会发生改变
3.防止被篡改,传输中一旦被篡改,计算出的MD5值也会改变;
4. 可用于数字签名,防止抵赖,一旦用户的文件被第三方MD5加 密,如果以后甲方说这个文件不是他写的,那么当用文件MD5后获得的签名一致,就可以确认;
5. 防止看到明文,公司存放密码存放的是MD5值。
缺点: 1.作为散列算法,经过证实,仍然会存在两种不同数据会发生碰撞;
2. MD5的安全性。将用户的密码直接MD5后存储在数据库中是不 安全的。
(1)因为用户习惯用容易记住的密码,比如手机号、生日,不法分子容易获取这类密码,这也就是要加盐的原因。
(2)直接MD5存入数据库,如果数据库被盗,通过MD5反查会查到密码,需要随机盐值的配合。
3.很多人使用的密码是常见的组合,攻击者将这些密码的常见组合进行单向哈希,得到一个摘要组合,然后与数据库中的摘要进行比对即可获得对应的密码。