BCrypt

定义:BCrypt 是一种用于密码加密与校验的密码散列算法,主要用于存密码。
核心:不存明文密码,只存"不可逆的加密结果",登录时用算法自己去比对。做法:用户输入明文 然后matches 去和数据库密文比对
代码体现:passwordEncoder.matches(rpassword, user.getPassword())。
特点

  1. 不可逆:你永远无法从数据库里的 BCrypt 字符串反推出原始密码。
  2. 自带随机盐(salt):每次加密,即使是同一个密码,生成的结果也不一样。
    项目里的BCrypt如何工作的
    注册时
    用户输入密码 → encode() → 存数据库
    登录时
    用户输入密码 + 数据库里的加密串 → matches() → 返回 true / false
相关推荐
云烟成雨TD16 小时前
Spring AI Alibaba 1.x 系列【6】ReactAgent 同步执行 & 流式执行
java·人工智能·spring
于慨16 小时前
Lambda 表达式、方法引用(Method Reference)语法
java·前端·servlet
swg32132116 小时前
Spring Boot 3.X Oauth2 认证服务与资源服务
java·spring boot·后端
gelald16 小时前
SpringBoot - 自动配置原理
java·spring boot·后端
殷紫川16 小时前
深入理解 AQS:从架构到实现,解锁 Java 并发编程的核心密钥
java
一轮弯弯的明月16 小时前
贝尔数求集合划分方案总数
java·笔记·蓝桥杯·学习心得
chenjingming66616 小时前
jmeter线程组设置以及串行和并行设置
java·开发语言·jmeter
殷紫川16 小时前
深入拆解 Java volatile:从内存屏障到无锁编程的实战指南
java
eddieHoo16 小时前
查看 Tomcat 的堆内存参数
java·tomcat
那个失眠的夜16 小时前
Mybatis延迟加载策略
xml·java·数据库·maven·mybatis