当前位置: 首页 > wzjs >正文

网站开发接单群大连建设监察执法网站

网站开发接单群,大连建设监察执法网站,贸易公司注册资金多少合适,重庆网站建设技术外包前言 本片文章是学习B站黑马程序员苍穹外卖的学习笔记。我的学习路线是Java基础语法-JavaWeb-做项目,外卖程序的开发还是比我之前学JavaWeb图书管理系统多很多功能的,其登录功能加入了MD5密码加密🙌(其实这段我也没太听懂&#xf…

前言

本片文章是学习B站黑马程序员苍穹外卖的学习笔记。我的学习路线是Java基础语法-JavaWeb-做项目,外卖程序的开发还是比我之前学JavaWeb图书管理系统多很多功能的,其登录功能加入了MD5密码加密🙌(其实这段我也没太听懂,我又结合ai理解了一下 )。

🛠️先来看看什么是MD5:

MD5:是一种常用的哈希算法,用于生成数据的“指纹”对密码加密。

🙌在来看看其在项目中的使用:

  1. 因为是对密码的加密,所以更改数据库中的密码改为加密后的:
    123456—> e10adc3949ba59abbe56e057f20f883e

  2. 总体看看后端代码

@Service
public class EmployeeServiceImpl implements EmployeeService {@Autowiredprivate EmployeeMapper employeeMapper;public Employee login(EmployeeLoginDTO employeeLoginDTO) {String username = employeeLoginDTO.getUsername();String password = employeeLoginDTO.getPassword();//1、根据用户名查询数据库中的数据Employee employee = employeeMapper.getByUsername(username);//2、处理各种异常情况(用户名不存在、密码不对、账号被锁定)if (employee == null) {//账号不存在throw new AccountNotFoundException(MessageConstant.ACCOUNT_NOT_FOUND);}//密码比对// TODO 后期需要进行md5加密,然后再进行比对password = DigestUtils.md5DigestAsHex(password.getBytes());if (!password.equals(employee.getPassword())) {//密码错误throw new PasswordErrorException(MessageConstant.PASSWORD_ERROR);}if (employee.getStatus() == StatusConstant.DISABLE) {//账号被锁定throw new AccountLockedException(MessageConstant.ACCOUNT_LOCKED);}//3、返回实体对象return employee;}

从在service层的位置可以看出,其作用其实就是,在后端收到前端用户输入的密码后,把用户的密码进行加密后处理,再和数据库中存储的密码对比

🧠 分步解析:我们来逐行解释这段代码

password = DigestUtils.md5DigestAsHex(password.getBytes());
  1. password.getBytes()

作用:把字符串(比如 “123456”)转换成字节数组(byte[]),因为加密算法操作的是二进制数据。

"hello".getBytes()[104, 101, 108, 108, 111]
  1. DigestUtils.md5DigestAsHex(…)

作用:使用 Apache Commons Codec 提供的 DigestUtils 工具类,对传入的字节数组进行 MD5 哈希计算,并将结果转为 16 进制字符串

String password = "123456";
String md5 = DigestUtils.md5DigestAsHex(password.getBytes());
System.out.println(md5); // 输出:e10adc3949ba59abbe56e057f20f883e

⚠️ ai还给出了缺点(可能这个外卖的课是几年前的所以还是有点落后的):

  1. 存在碰撞攻击风险
  2. 容易被彩虹表破解(尤其是弱密码)
  3. 不建议直接用于现代系统的密码加密

文章转载自:

http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://00000000.Lwmzp.cn
http://www.dtcms.com/wzjs/610697.html

相关文章:

  • 焦作电子商务网站建设实例著名网页设计师及作品
  • 淮安市建设局网站首页深圳网络推广代理
  • 黄冈市建设局官方网站小说网站快速做排名
  • 做网站多少钱西宁君博美评wordpress 作品集网站
  • 湖南省网站建设项目网站是先解析后备案
  • 响应式网站建设品牌全网天下wordpress下载5.11
  • 简单炫酷的网站php+ajax网站开发典型实例 pdf
  • 网站建设可以帮助花店怎么样网站建设模板ppt模板
  • 专门做免费东西试吃的网站wordpress需要php
  • 监控性能网站模板wordpress自动发布插件
  • 许昌网站建设公司排行榜有没有网站学做总结
  • 免费做游戏小程序的网站邯郸网站设计建设
  • 设计导航网站 左侧菜单栏的物app
  • 网站建设需要注意那些点wordpress文件详解
  • 能上国外网站的免费dns免费咨询妇科医生
  • 可以写代码的网站有哪些问题吗网站开发和美工的区别
  • asp网站开发源码wordpress连接设置方法
  • 网站域名建设费进什么科目app界面设计网站
  • 今标 网站建设任务一 分析电子商务网站栏目结构
  • 企业型网站建设费用网站建设和维护的教程
  • 能用网站做微信小程序服务器维护公告
  • 阿里备案成功后怎么做网站东莞人社小程序
  • 新手学做网站相关书籍南阳微网站建设
  • 昆明专业网站制作公司王妃貌美还狠凶
  • 北京网站建设优化广州网站开发服务
  • 外包网站建设是什么意思公关策划公司是干什么的
  • 给上市公司做网站有什么用wordpress设置网页缩略图
  • 东台网站制作wordpress添加广告联盟
  • 青岛做网站方案为什么高德地图没有外国位置信息
  • WordPress网站运行时间抖音代运营合作模式