对数据库密码使用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
相关推荐
weixin_580614006 小时前
如何自动同步SQL多语言字段_通过触发器实现国际化更新
jvm·数据库·python
知忆_IS6 小时前
【问题解决】postgresql操作数据库时候,提示有N个会话正在使用数据库的解决方案
数据库·postgresql·oracle
bitt TRES6 小时前
如何使用C#与SQL Server数据库进行交互
数据库·c#·交互
2401_837163896 小时前
SQL中窗口函数使用注意事项_避免潜在的数据陷阱
jvm·数据库·python
m0_734949796 小时前
mysql数据库性能调优的常用指标有哪些_深入理解QPS与TPS
jvm·数据库·python
qq_432703666 小时前
Golang怎么用reflect设置字段值_Golang如何动态修改结构体中某个字段的值【进阶】
jvm·数据库·python
m0_617881426 小时前
CSS如何让最后一行项目左对齐_利用flex布局配合伪元素空项填充
jvm·数据库·python
LiAo_1996_Y6 小时前
CSS如何实现根据滚动进度触发的过渡效果_配合JS修改类名触发transition
jvm·数据库·python
l1t6 小时前
DeepSeek总结的PostgreSQL 19 的新功能REPACK
数据库·postgresql
z4424753266 小时前
CSS如何实现文本溢出显示省略号_掌握text-overflow使用方法
jvm·数据库·python