登录模块,密码加密
1.发现
闲来无事,看了看登录模块的源码
由于admin默认密码为123456,在这个过程中进行了debug,发现调用了LoginController控制层里面的login方法,在这一段中
//2. 校验用户名或密码是否正确
String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt());
String syspassword = sysUser.getPassword();
if (!syspassword.equals(userpassword)) {
result.error500("用户名或密码错误");
return result;
}
发现使用了对密码与数据表<SysUser>中password对应内容进行比较,等于就通过.
但在数据表中,发现admin对应的密码记录为cb362cfeefbf3d8d,鉴于知道登录密码实际为123456
判断在此句中,对密码进行了加密处理
String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt());
2.进行研究
有以下几处不解:
-
不解一:参数中的sysUser.getSalt(),作用是?
进入源码发现相关注解写为: md5密码盐</