把用户输进来的明文密码做一层 MD5 哈希

这一行干的就是:把用户输进来的明文密码先做一层 MD5 哈希,再把得到的 32 位十六进制字符串存到变量 password

逐段拆开:

  1. password.getBytes()
    把字符串转成字节数组,MD5 算法只能对字节/字节数组做运算。

  2. DigestUtils.md5DigestAsHex(...)
    Spring 提供的工具方法,内部流程:

    • 拿到 MD5 消息摘要实例 MessageDigest.getInstance("MD5")
    • 喂入字节数组并计算 128 bit(16 byte)的摘要
    • 把 16 个字节按十六进制展开成 32 个字符,例如
      "123456""e10adc3949ba59abbe56e057f20f883e"
  3. 结果再赋回给 password
    从此以后,变量 password 里就不再是原始密码,而是它的 MD5 值。

为什么要这样做(场景):

  • 数据库里不存明文,只存 MD5(或再加盐),降低泄露后的风险。
  • 登录校验时把用户输入再算一次 MD5,然后跟库里的比对即可。

注意:

  • 单纯 MD5 已不够安全,生产环境建议加盐或使用 BCrypt、PBKDF2、Argon2 等慢哈希算法;
  • 这一行只是“把明文变 MD5”,不涉及盐值、迭代次数等加强手段。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/94784.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/94784.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jeecg-boot3.7.0对接钉钉登录(OAuth2.0)

当前的jeecg-boot 是3.7.0前端问题:1.前端的路由vue-router的版本需要固定死。要不然会报page_not_found router the same.这种奇奇怪怪的问题。 就是把package.json的“^”,这个符号,删掉。(或者全局搜索,这个page no…

【C#】获取不重复的编码(递增,非GUID)

获取不重复的编码:从原始实现到高效优化本文针对软件开发中“为新对象分配唯一编码”的常见需求,以C#通信设备管理场景为例,从原始代码分析入手,逐步讲解基于LINQ和哈希集合的优化方案,帮助开发者理解不同场景下的最佳…

腾讯云人脸库技术架构深度解析

腾讯云人脸库技术架构深度解析人脸库是现代人脸识别系统的核心组件,负责海量人脸特征的高效存储、检索和管理。腾讯云在人脸库设计上采用了多项创新技术,本文将深入探讨其技术实现细节。一、人脸库核心架构腾讯云人脸库采用分层架构设计:应用…

Transformer图解指南:Attention机制动画演示

点击 “AladdinEdu,同学们用得起的【H卡】算力平台”,H卡级别算力,按量计费,灵活弹性,顶级配置,学生专属优惠。 Self-Attention矩阵运算 位置编码可视化 读者收获:理解大模型基石架构 Attenti…

工业网络安全:保护制造系统和数据

近年来,制造业数字化转型加速推进。自动化生产线、智能工厂和工业物联网设备已深度融入日常运营。这些进步在提升效率的同时,也暴露出新的安全漏洞。因此,工业网络安全已成为全球制造商的首要任务之一。与主要保护办公系统和客户数据库的传统…

【RAGFlow代码详解-9】文档解析和 OCR

系统概述 文档解析和 OCR 系统提供多格式文档支持,并具有基于视觉的分析功能。它由几个关键组件组成: DeepDoc 视觉系统 :用于布局分析、表格检测和 OCR 的高级计算机视觉模型多格式解析器 :支持 PDF、DOCX、Excel、Markdown、HTM…

元宇宙与医疗健康:重构诊疗体验与健康管理模式

1 元宇宙重塑医疗诊疗核心流程1.1 远程诊疗:从 “平面沟通” 到 “沉浸式问诊”元宇宙打破远程诊疗的空间限制,将传统 “视频通话式问诊” 升级为 “沉浸式多维度交互”。在基础问诊环节,医生的数字分身可通过 AR 技术 “进入” 患者家中&…

C6.1:发射极偏置放大器

基极偏置放大器的Q点不稳定,但是学习后了解了放大器的基本运行逻辑,发射极偏置放大器则是适合大规模应用,VDB和TSEB都具有稳定的Q点。讲发射极偏置,首先要讲旁路电容,前文的耦合电容和旁路电容类似,都是直流…

lanczos算法中的基向量V的存储流程

我的问题是:这里提到的,为什么会增加V的列向量?V是怎么储存的呢? 这个问题触及了Lanczos算法实现的核心细节。 🧠 为什么会增加V的列向量? 因为Lanczos算法是一个迭代过程,它从一个初始向量开始…

Linux操作系统——TCP服务端并发模型

TCP:建立连接,一对一要实现多任务并发,就引出了并发模型一、多进程与多线程1.在相同资源情况下,进程资源开销大,但其安全性高2.线程相对于进程资源开销小,且并发量比进程大①多进程并发基础代码#include &l…

Ubuntu 22.04 插入光驱后磁盘满启动故障clean, ...files, ...blocks

硬件环境 设备型号:机械革命 Yilong15Pro Series GM5HG0A操作系统:Ubuntu 22.04.5 LTS (Jammy Jellyfish)内核版本:6.8.0-65-generic 问题经过 初始症状 连接外置光驱后,系统出现异常: 风扇持续高速运转,噪…

声网RTC稳定连麦、超分清晰,出海直播技术不再难选

我们是面向中东、南亚新兴市场的泛娱乐直播平台,主打 1V1 互动、PK 团战与语音房。首个版本落地时,前端开发最焦虑的不是业务逻辑,而是音视频底层问题 —— 延迟高、卡顿多、合唱不同步致观众秒退,我们每周改底层,单 P…

设计模式:桥接模式(Bridge Pattern)

文章目录一、桥接模式的定义二、为什么需要桥接模式?三、示例代码一、桥接模式的定义 桥接模式是一种结构型设计模式,它的主要作用是将抽象部分与实现部分分离,使它们能够独立变化。换句话说,就是把“抽象”和“实现”放到两个独立…

AI-Agent 深度科普:从概念到架构、应用与未来趋势

目录 一、Agent 究竟是什么? 二、Agent 的核心组成模块 三、Agent 架构类型与协作模式 单智能体(Single-Agent) 多智能体协作(Multi-Agent) 人机协作(Human-in-the-loop) 四、Agent 的能…

企业分支上云的常见误区与纠正方案

数字化转型的浪潮下,“上云”几乎成为所有企业的必答题。然而,在实际落地中,很多企业发现:总部上云容易,分支上云却困难重重。不是网络体验不稳定,就是合规风险频出,要么就是成本失控。这其中很…

深入解析函数栈帧创建与销毁

目录 一、函数栈帧(Stack Frame)整理 1、核心概念 2、为什么需要函数栈帧? 3、函数栈帧的主要内容 二、理解函数栈帧能解决的核心问题 1、局部变量的生命周期与本质 2、函数调用的参数传递机制 3、函数返回值的传递 三、函数栈帧的创…

广告牌安全监测系统综合解决方案

一、方案背景 广告牌作为城市户外广告的重要载体,广泛分布于城市道路、商业区及交通枢纽等人流密集区域。由于长期暴露在自然环境中,广告牌面临着风荷载、雨雪侵蚀、温度变化等多重因素的影响,其结构安全性和稳定性直接关系到公共安全。近年来…

MII的原理

一、介绍 MII 是 Media Independent Interface(媒体独立接口) 的缩写,是一种用于连接网络物理层(PHY)芯片和数据链路层(MAC)芯片的标准硬件接口,核心作用是让不同类型的物理层&…

【Excel】Excel的工作场景

一、Excel的发展历史 1.1 版本迭代周期 自Excel 2019版本起,微软将更新周期稳定在每3年一次,而3年的周期刚好平衡了创新与稳定:既能紧跟大数据时代下用户对自动化、智能化处理的需求(比如近年数据量激增带来的批量处理需求&#x…

nestjs 连接redis

1、下载npm install --save nestjs-modules/ioredis ioredis2、全局模块中引用RedisModule.forRootAsync({useFactory: (configService: ConfigService) > {return {type:"single",url: configService.get(redis.url) };},inject: [ConfigService], }),整体如下&…