Bcrypt密码加密

本文介绍了如何在应用程序中使用Spring Security的BCryptPasswordEncoder进行密码加密,以提高安全性。内容涵盖BCrypt的基本原理,如何在项目中引入依赖,配置匿名访问,以及管理员和用户密码的加密和校验过程。详细讲解了从 Dao、Service 到 Controller 的密码处理逻辑,确保密码以强哈希方式安全存储。
摘要由CSDN通过智能技术生成

Bcrypt密码加密

1.1 简介

任何应用考虑到安全,绝不能明文的方式保存密码。密码应该通过哈希算法进行加密。有很多标准的算法比如SHA或者MD5,结salt(盐)是一个不错的选择。 Spring Security提供了BCryptPasswordEncoder类,实现Spring的PasswordEncoder接口使用BCrypt强哈希方法来加密密码。
BCrypt强哈希方法 每次加密的结果都不一样。

(1)工程中引入依赖

<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-security -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
    <version>2.2.4.RELEASE</version>
</dependency>

(2)添加配置类
我们在添加了spring security依赖后,所有的地址都被spring security所控制了,我们目前只是需要用到BCrypt密码加密的部分,所以我们要添加一个配置类,配置为所有地址都可以匿名访问。

/**
* 安全配置类
*/
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter{
   
	
	@Override
	protected void configure(HttpSecurity http) throws Exception {
   
		http
			.authorizeRequests()
			.antMatchers("/**").permitAll()
			.anyRequest().authenticated(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值