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

在spring boot项目中使用Spring Security的BCryptPasswordEncoder类进行相同密码不同密文的加密和验证

1. 在maven配置文件pom.xml中引入依赖包

<!--加密模块--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency>

2. 在启动类MainApplication中加入bean

@Beanpublic BCryptPasswordEncoder getBcryptPasswordEncoder(){return new BCryptPasswordEncoder();}

3. 增加配置类设置

当引入 spring-boot-starter-security 后,Spring Security 会自动应用默认的安全配置,所有的 HTTP 请求都会被拦截并需要进行身份认证。使用下列配置类解除拦截

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.web.SecurityFilterChain;@Configuration
public class SecurityConfig {@Beanpublic SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {http.csrf().disable().authorizeRequests().anyRequest().permitAll();return http.build();}
}

4. 创建BCryptPasswordEncoder对象

private BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();

5. 对密码进行密文加密

使用此方法对密码加密,即是传入相同的明文密码,每次加密得到的密文结果都不一样

encodePassWord = bCryptPasswordEncoder.encode(passWord);

6. 对密码进行密文和明文的匹配

bCryptPasswordEncoder.matches(password, encodePassWord)


http://www.mrgr.cn/news/45568.html

相关文章:

  • tensorflow快速入门--如何定义张量、定义网络结构、超参数设置、模型训练???
  • 机器学习初步【1】
  • YOLO11改进|注意力机制篇|引入MSCA注意力机制
  • 在JavaScript中,改变this指向的call,apply,bind有什么区别,原理分别是什么?
  • df 的各种用法 以及与du 的区别
  • 【Python】文件及目录
  • JavaSE - 基础语法
  • QT入门介绍篇
  • 【stm32】寄存器(stm32技术手册下载链接)
  • 远程控制软件推荐:亲测好用!
  • torch和torchvision 版本对应
  • var let const 之间的区别
  • 26. 删除有序数组中的重复项
  • 五十、架构设计经验与技巧(架构设计基本原则)
  • 银河麒麟V10安装ToDesk远程控制
  • 【C语言】关于指针各项细节以及与其他知识点关联
  • Lumerical——Eigensolver Analysis
  • Vue3中提到的Tree-shaking
  • 2024年9月30日--10月6日(ue5肉鸽结束,20小时,共2851小时)
  • Linux防火墙-案例(二)snatdnat