BCrypt

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

  1. 不可逆:你永远无法从数据库里的 BCrypt 字符串反推出原始密码。
  2. 自带随机盐(salt):每次加密,即使是同一个密码,生成的结果也不一样。
    项目里的BCrypt如何工作的
    注册时
    用户输入密码 → encode() → 存数据库
    登录时
    用户输入密码 + 数据库里的加密串 → matches() → 返回 true / false
相关推荐
码界奇点几秒前
基于Java GUI和Access数据库的图书馆管理系统设计与实现
java·开发语言·数据库·毕业设计·源代码管理
Moshow郑锴5 分钟前
JAVA JDK26新特性分析 - 一个注重性能优化、生产就绪和前瞻性安全的版本
java·开发语言·jvm
非凡ghost6 分钟前
proDAD ReSpeedr:专业视频变速编辑的利器
java·网络·windows·python·音视频·软件需求
aq55356007 分钟前
Spring Boot中的404错误:原因、影响及处理策略
java·spring boot·后端
zhougl9969 分钟前
maven 插件
java·maven
weixin_7042660517 分钟前
SpringMVC基础了解
java·spring·mvc
BUG?不,是彩蛋!17 分钟前
AI智慧社区--从0到1开发柱状图数据接口
java·spring boot·后端·intellij-idea·mybatis
arvin_xiaoting19 分钟前
OpenClaw Agent与Sub-agent架构深度分析:关系、通信与权限隔离
java·linux·架构·多智能体·ai agent·openclaw·sub-agent
码农时代者20 分钟前
拒绝重复造轮子!开发者如何靠“高质量源码”实现项目高效交付?
java·python·php
稽稽稽稽不如人27 分钟前
《从零开始的java从入门到入土的学习生活——JavaWeb后端篇》Chapter18——JavaWeb后端篇学习记录——AOP 面向切面编程
java·学习·生活