对数据库密码使用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
相关推荐
码农阿豪1 天前
行标识符的抉择:深入理解数据库领域的OID与ROWID机制
数据库·oracle
不剪发的Tony老师1 天前
MyCLI:一个增强型MySQL命令行客户端
数据库·mysql
SHANGHAILINGEN1 天前
2400 万个未培养病毒重新定义病毒多样性
数据库·测序·组学
刘晨鑫11 天前
PostgreSQL日常维护
数据库·postgresql
xiaokangzhe1 天前
PG数据库日常应用
数据库·oracle
XDHCOM1 天前
MySQL ER_DD_VERSION_INSTALLED报错解析,数据字典版本问题,故障修复与远程处理指南
数据库·mysql
yaoyouzhong1 天前
MySQL 批量插入详解:快速提升大数据导入效率的实战方法
大数据·数据库·mysql
NineData1 天前
NineData V5.0 产品发布会:让 AI 成为数据管理的驱动力,4月16日!
数据库·人工智能·ai编程
高梦轩1 天前
PG数据库
数据库·oracle
云草桑1 天前
DBA mssql 解决排序规则冲突 QA prod 和开发配置都是一样的服务器排序规则 为啥开发环境的的存储过程需要 加这个COLLATE Chinese_PRC_CI_AS
数据库·dba·mssql