zoukankan      html  css  js  c++  java
  • 重置密码

    @Transactional(rollbackFor = Exception.class)
        public boolean repwd(String rowId,String did, String oldPwd, String pwd) throws NoSuchAlgorithmException {
            //获取老密码
            SysUserExample sysUserExample1 = new SysUserExample();
            SysUserExample.Criteria criteria = sysUserExample1.createCriteria();
            criteria.andAliasDidEqualTo(did);
            criteria.andAliasRowIdEqualTo(rowId);
            SysUserDto user = sysUserMapper.selectByExample(sysUserExample1).get(0);
            //老密码
            String mdPwd = user.getPassWord();
            //老密码盐值
            String oldSalt = user.getSaltkey();
            String oldSaltPwd = oldPwd + oldSalt;
            String oldMdPwd = Md5Utils.calc(oldSaltPwd);
            if (!mdPwd.equals(oldMdPwd)) {
                throw new NoSuchAlgorithmException("旧密码不正确");
            }
            /*获取随机盐*/
            String saltkey = Base64.encodeBase64String(RandomStringUtils.random(5).getBytes());
            /*对密码加盐*/
            String salpwd = pwd + saltkey;
            /*再对加盐的密码进行md5加密*/
            String mpwd = Md5Utils.calc(salpwd);
            logger.info("mpwd参数:{}", mpwd);
            SysUser sysUser = new SysUser();
            sysUser.setPassword(mpwd);
            SysUserExample sysUserExample = new SysUserExample();
            SysUserExample.Criteria sUser = sysUserExample.createCriteria();
            sUser.andDidEqualTo(did);
            sUser.andRowIdEqualTo(rowId);
            sysUser.setUpdatedt(new Date());
            sysUserMapper.updateByExampleSelective(sysUser, sysUserExample);
            sysUserMapper.insertSaltkey(saltkey, did, rowId);
            return true;
  • 相关阅读:
    iOS开发 | 自定义不规则label
    监控redis的操作命令
    HTML常用标签
    前端学习【第一篇】: HTML内容
    MySQL数据库修改字段的长度
    python模块之:paramiko
    使用pymysql操作mysql数据库
    Python开发【第九篇】: 并发编程
    JNI调用实例
    JVM性能调优入门
  • 原文地址:https://www.cnblogs.com/pan-my/p/11730682.html
Copyright © 2011-2022 走看看