SpringBoot BCrypt密码加密
小郑要做干饭人 人气:2一. 首先在pom依赖中加入依赖:
<!-- security依赖包 (加密) --> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-config</artifactId> </dependency>
二.在启动类中加入@EnableScheduling注解,获得BCrypt支持:
package com.zzx; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.scheduling.annotation.EnableScheduling; //获得BCrypt支持 @EnableScheduling @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
三.模拟获得登录密码:
package com.zzx.test; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; /** * @date: 2021/11/25/ 14:30 * @author: ZhengZiXuan * @title: 使用BCrypt进行密码加密 * @description: 引入Security依赖默认开启了登录校验,访问API会跳转到登录页,如果只是需要BCrypt加密功能可以在启动类配置@SpringBootApplication (exclude = { org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class })禁用Security相关功能。 */ public class BCryptTest { public static void main(String[] args) { //模拟从前端获得的密码 String password = "123456"; BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder(); String newPassword = bCryptPasswordEncoder.encode(password); System.out.println("加密的密码为: "+newPassword); boolean same_password_result = bCryptPasswordEncoder.matches(password,newPassword); //返回true System.out.println("相同代码对比: "+same_password_result); boolean other_password_result = bCryptPasswordEncoder.matches("1234456",newPassword); //返回false System.out.println("其他密码对比: " + other_password_result); } }
运行结果如下:
加载全部内容