计算出来的md5结果不正确

计算出来的md5结果不正确

public Member checkLogin(String username, String password) {
    //检查是否登录,不对数据进行修改,故不需要开启事务
    //查询用户是否存在
    QueryWrapper<Member> wrapper = new QueryWrapper<>();
    wrapper.eq("username", username);
    Member member = memberMapper.selectOne(wrapper); //获取唯一的返回结果
    if (member == null) {
        throw new MemberException("用户不存在");
    } else {
        //密码校验
        System.out.println(password);
        System.out.println(member.getSalt());
        String md5 = Md5Utils.md5Digest(password, member.getSalt());
        System.out.println(md5);
        if (!md5.equals(member.getPassword())) {
            throw new MemberException("您输入的密码有误");
        }
    }
    return member;
}

打印出来的结果:

123456
1234
df64dc2eb4a0b85091dd31eb4923eaac

而存储的password: 319f25b32fd538728736a46392e89593


请问哪里写错了导致计算出来的md5结果不正确?我在Test里面写了一个相同输入的MD5但结果是正确的,请问是什么原因?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,同学检查下pom.xml中引入的依赖版本是否跟课程中的一致,如下

https://img1.sycdn.imooc.com//climg/6200e6e609072a6e04400116.jpg

如果不一致,建议同学修改成一致的版本后试试

祝学习愉快~

  • 小马小灰灰 提问者 #1
    请问老师,不同版本的包会导致计算出来的md5结果不一样吗?
    2022-02-07 18:34:40
  • 小马小灰灰 提问者 #2
    版本改到1.15可以了,但是之前版本注册的账号的md5就不一致了。
    2022-02-08 09:43:45
  • 好帮手慕阿园 回复 提问者 小马小灰灰 #3

    同学你好,可能会出现这样的情况哦,建议同学的版本跟视频中老师的保持一致

    祝学习愉快~

    2022-02-08 09:52:08
慕粉1555086949 2022-08-22 17:51:26

晕死,我跟你同样的问题,test的时候没错,前端传来的数据加盐运算之后就不对了。
原来改下版本就行了

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师