md5概述:
md5信息摘要算法,属于Hash算法一类。md5的作用就是将一段数据变换成一定长度的十六进制的字符串。
md5算法的特点:
压缩性:任意长度的数据的md5的长度都是一样的
抗修改:其中只要修改一个原数据,得到的md5的值都有很大的区别
md5的用途:
防止看到明文,比如用户的信息,密码等,为了用户的隐私,我们需要对用户信息进行加密操作
为了更加安全,我们可以加盐加密:加盐加密就是在密码中拼接一段字符串,然后再去通过md5加密,字符串就是我们口中的盐。
盐有两种,分为固定盐和随机盐:固定盐就是我们自己设一个固定字符串
随机盐就是使用Random产生的随机数作为随机盐
md5jar包:https://pan.baidu.com/s/1LUQy_rDaYjmjL-IlJtHEww 提取码:7usf
package com.zking.biz;
import org.apache.commons.codec.digest.DigestUtils;
import com.zking.Dao.IUserDao;
import com.zking.Dao.UserDao;
import com.zking.entity.User;
/**
* 用户业务逻辑层
* @author JIE
*
* @date 2022年4月25日 上午11:49:45
*/
public class IUserbiz implements Userbiz {
UserDao ud=new IUserDao();
@Override
public User login(User user) {
User u = ud.login(user);
if(u==null) {
System.out.println("账号不存在");
return null;
}
//md5加密
String pwd = DigestUtils.md5Hex(user.getPassword());
if(!u.getPassword().equals(pwd)) {
System.out.println("密码不相同");
return null;
}
return u;
}
}