对数据库密码使用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
相关推荐
Kiyra4 小时前
异步任务不用 Kafka 也行:用 Redis Stream 搭一套轻量级 Producer/Consumer 框架
数据库·人工智能·redis·分布式·后端·缓存·kafka
m0_591364734 小时前
Python如何进行数据平滑处理_使用Pandas滚动中位数计算
jvm·数据库·python
振宇i4 小时前
MySQL数据库修改表结构语句
数据库·mysql
czlczl200209254 小时前
MySQL InnoDB 加锁全解析
数据库·mysql
lifewange4 小时前
SQL Server、MySQL、Oracle 核心区别对比
数据库·mysql·oracle
彳亍1014 小时前
mysql主从复制和双主复制有什么区别_mysql架构对比
jvm·数据库·python
a7963lin4 小时前
MySQL数据库提示表损坏怎么修复_使用REPAIR TABLE修复方案
jvm·数据库·python
dFObBIMmai4 小时前
如何撤销PUBLIC的危险权限_REVOKE EXECUTE ON UTL_FILE
jvm·数据库·python
2501_901200534 小时前
CSS如何优化移动端CSS选择器性能_遵循BEM规范避免过长嵌套
jvm·数据库·python
ㄟ留恋さ寂寞4 小时前
如何用事务 Transaction 确保 IndexedDB 多表操作的安全性
jvm·数据库·python