求助加上 String md5Password = MD5Utils.md5Digest(password, user.getSalt());就开始报错500

来源:6-5 敏感数据加盐混淆

Java小彩鸡

2021-02-19 20:29:41

相关代码:

public class UserService {
private UserDao userDao = new UserDao();
private RbacDao rbacDao = new RbacDao();
/**
* 验证登录信息的Service
* @param username
* @param password
* @return User
*/
public User checkLogin(String username, String password){
User user = userDao.selectByUsername(username);
if (user==null){
//用户名不存在异常
throw new BussinessException("L001", "用户名不存在");
}
String md5Password = MD5Utils.md5Digest(password, user.getSalt());
if (!md5Password.equals(user.getPassword())){
throw new BussinessException("L002", "密码错误");
}
return user;
}

public List<Node> selectNodeById(Long userId){
return rbacDao.SelectNodeById(userId);
}
}



public class MD5Utils {
/**
* MD5摘要
* @param source 元数据
* @return MD5摘要
*/
public static String md5Digest(String source){
return DigestUtils.md5Hex(source);
}

/**
* MD5加盐摘要
* @param source
* @param salt
* @return
*/
public static String md5Digest(String source,Integer salt){
char[] ca = source.toCharArray();//原始字符串变为字符数组
//加盐
for (int i = 0; i <ca.length ; i++) {
ca[i] = (char) (ca[i] + salt);
}
//数组变为字符串
String target = new String(ca);
//MD5摘要
String md5String = DigestUtils.md5Hex(target);
return md5String;
}


}

相关截图:




写回答

2回答

好帮手慕珊

2021-02-20

同学你好,500是代码内部错误,需要具体问题具体分析,请像楼上同学说的一样贴出报错截图。祝学习愉快!

0
hava小彩鸡
hp>我真愚蠢,那个Tomcat log里面才是报错的,说是没有找到加密的那个类,我忘记把jar放进那个out目录了,已经解决了

h021-02-20
共4条回复

明天你好0o0

2021-02-20

建议同学吧异常代码也粘贴出来,或者截图都可以,方便分析

0

0 学习 · 16556 问题

查看课程