对数据库密码使用MD5加密算法加密,并进行登录验证

实现步骤:

  1. 修改数据库中明文密码,改为MD5加密后的密文

    打开employee表,修改密码

  2. 修改Java代码,前端提交的密码进行MD5加密后再跟数据库中密码比对

    打开EmployeeServiceImpl.java,修改比对密码

    java 复制代码
    /**
         * 员工登录
         *
         * @param employeeLoginDTO
         * @return
         */
        public Employee login(EmployeeLoginDTO employeeLoginDTO) {
    
            //1、根据用户名查询数据库中的数据
           
            //2、处理各种异常情况(用户名不存在、密码不对、账号被锁定)
            //.......
            //密码比对
            // TODO 后期需要进行md5加密,然后再进行比对
            password = DigestUtils.md5DigestAsHex(password.getBytes());
            if (!password.equals(employee.getPassword())) {
                //密码错误
                throw new PasswordErrorException(MessageConstant.PASSWORD_ERROR);
            }
    
            //........
    
            //3、返回实体对象
            return employee;
        }

核心代码:

cpp 复制代码
        password=DigestUtils.md5DigestAsHex(password.getBytes());

使用Spring内部的工具类和方法:

cpp 复制代码
DigestUtils.md5DigestAsHex
相关推荐
山岚的运维笔记12 小时前
SQL Server笔记 -- 第72章:隔离级别与锁定
数据库·笔记·后端·sql·microsoft·sqlserver
硅基动力AI12 小时前
如何判断一个关键词值不值得做?
java·前端·数据库
新缸中之脑13 小时前
从零实现AI代理的长期记忆
数据库·人工智能
清水白石00813 小时前
Fixture 的力量:pytest fixture 如何重新定义测试数据管理
数据库·python·pytest
Rick199315 小时前
如何保证数据库和Redis缓存一致性
数据库·redis·缓存
那个松鼠很眼熟w15 小时前
2.获取数据库连接
数据库
_ziva_16 小时前
5 分钟搭建 CSV 数据问答系统:LangChain + LLM 实战教程
jvm·数据库·oracle
dust_and_stars18 小时前
APT vs Snap vs Flatpak 核心对比表
运维·服务器·数据库
念越19 小时前
MySQL报错:Column count doesn‘t match value count at row 1 解决方案(超详细)
数据库·mysql
SmartBrain19 小时前
FastAPI实战(第二部分):用户注册接口开发详解
数据库·人工智能·python·fastapi