spring security中 BCrypt密码加密算法
@SpringBootTest
class ApplicationTests {
@Autowired
private BCryptPasswordEncoder bCryptPasswordEncoder;
@Test
public void testBCryptPasswordEncoder() {
for (int i = 0; i < 10; i++) {
String password = "123456";
String hashed = bCryptPasswordEncoder.encode(password);
System.out.println(hashed);
}
}
}
加密后的密码长度为60(所以设计数据库时得保证该字段长度不小于60)
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/**").permitAll()
.anyRequest().authenticated()
.and().csrf().disable();
}
}
(三)启动类中配置bean
@Bean
public BCryptPasswordEncoder getBcryptPasswordEncoder(){
return new BCryptPasswordEncoder();
}
(四)加密密码
// 加密密码
user.setPassword(bCryptPasswordEncoder.encode(password));
五)校验密码
// 参数一:待检验的、未加密的密码
// 参数二:从数据库中查询出的加密后密码
bCryptPasswordEncoder.matches(password, userFromDB.getPassword())
上一篇: Metasploit基础(MSF)
下一篇: sha256实现代码(C++模板类)
推荐阅读
-
spring security中 BCrypt密码加密算法
-
Spring Security使用数据库中的用户进行身份认证
-
关于密码加密算法之bcrypt、
-
BCrypt加密算法-密码加密
-
256.Spring Boot+Spring Security: MD5是加密算法吗? 博客分类: 从零开始学Spring Boot Spring Boot
-
java中自定义Spring Security权限控制管理示例(实战篇)
-
java中自定义Spring Security权限控制管理示例(实战篇)
-
Spring Boot中整合Spring Security并自定义验证代码实例
-
Spring Boot中整合Spring Security并自定义验证代码实例
-
java中Spring Security的实例详解