1、在pom.xml中添加
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
2、加密(【实现原理】)
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String hashedPassword = passwordEncoder.encode(user.getPasswordHash());
user.setPasswordHash(hashedPassword);
【String password = "123456a";//$2a$10$ofPkBDUezOJp6Sik63Q/0.QlU8a1itEyzldjSXqfn2nDPqXjN0Ljm
String pwt = BCrypt.hashpw(password, BCrypt.gensalt()); //加密,
//注:每次加密后的值都是不一样的,即加密的盐不一样(BCrypt.gensalt()) 】
3、解密(【实现原理】)
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); if(!passwordEncoder.matches(password,user.getPasswordHash())){ throw new IncorrectCredentialsException("密码错误"); }
【String salt="$2a$10$ofPkBDUezOJp6Sik63Q/0.QlU8a1itEyzldjSXqfn2nDPqXjN0Ljm";
booleanpswFlag=BCrypt.checkpw(password,salt);//解密
System.out.println(pwt+"===="+pswFlag); 】