注册账号,密码在数据库中显示加密。

1.创建SQL语句

1.在Excel表格中创建相关的SQL语句

=“insert into 表名 values ( "&&"  , "&&" , "&&" );”
="insert into sys_user_role values("&B58&","&C59A58&","&B58&");"

2.在数据库中执行Sql语句,此时加入的密码是明文的。

2.密码加密

1.Controller

@GetMapping("/testDemo")
public Result updateUserPasswordByDecode(){
          
   
     //添加所有需要更改密码的用户
     List<String> ulist = new ArrayList<>();
     //添加用户的邮箱
     ulist.add("jjx@163.com");
     ulist.add("admin@163.com");

     for (String email : ulist){
          
   
        //根据邮箱查询该用户
        SysUser user = sysUserService.selectByEmail(email);
        if (null != user){
          
   
            if(StringUtils.isNotEmpty(user.getPassword())){
          
   
                //加密
                user.setPassword( new BCryptPasswordEncoder().encode(user.getPassword()));
                }else {
          
   
                    user.setPassword( new BCryptPasswordEncoder().encode("FDDS92r2"));
                }
            }
            sysUserService.update(user);
        }
        return decide(1);
    }

2.service

//查询用户邮箱
SysUser selectByEmail(String email);
@Override
    public SysUser selectByEmail(String email) {
          
   
        return sysUserMapper.selectByEmail(email);
    }
//根据Id修改用户
boolean update(SysUser sysUser);
@Override
public boolean update(SysUser sysUser) {
          
   
    Integer result = sysUserMapper.updateById(sysUser);
        return result > 0;
    }

3.sql

<!-- 结果集 -->
    <resultMap id="SysUserMap" type="SysUser">
        <id property="userId" column="user_id"></id>
        <result property="username" column="username"></result>
        <result property="password" column="password"></result>
        <result property="realName" column="real_name"></result>
        <result property="email" column="email"></result>
    </resultMap>
//查询用户邮箱
SysUser selectByEmail(@Param("email") String email);
<select id="selectByEmail" parameterType="string" resultMap="SysUserMap">
   select * from sys_user where email = #{
          
   email}
</select>
//根据Id修改用户
Integer updateById(SysUser sysUser);
<update id="updateById" parameterType="SysUser">
         update sys_user
         <set>
             <if test="username">
                 username = #{
          
   username},
             </if>
             <if test="realName">
                 real_name = #{
          
   realName},
             </if>
             <if test="enable!=null and enable!=">
                 enable = #{
          
   enable},
             </if> 
             <if test="password!=null and password!=">
                 password = #{
          
   password},
             </if>
         </set>
         where user_id = #{
          
   userId}
    </update>

3.根据路径在页面中进行访问

http://localhost:8090/system/user/testDeme

如果数据库中显示的密码还是明文则在Idea中进行断点,执行完再次查看则加密完成。

经验分享 程序员 微信小程序 职场和发展