由于BCrypt加密的特殊性,在Java中可以使用Jasypt库来实现BCrypt的加密解密。
1. 引入Jasypt的Maven依赖:
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt</artifactId>
<version>1.9.3</version>
</dependency>
2. 密码加密
import org.jasypt.util.password.StrongPasswordEncryptor;
public class BCryptDemo {
public static void main(String[] args) {
String password = "xxxxxx";
StrongPasswordEncryptor passwordEncryptor = new StrongPasswordEncryptor();
String encryptedPassword = passwordEncryptor.encryptPassword(password);
System.out.println(encryptedPassword);
}
}
3. 密码校验
import org.jasypt.util.password.StrongPasswordEncryptor;
public class BCryptDemo {
public static void main(String[] args) {
String password = "xxxxxxxx";
StrongPasswordEncryptor passwordEncryptor = new StrongPasswordEncryptor();
String encryptedPassword = passwordEncryptor.encryptPassword(password);
boolean isPasswordCorrect = passwordEncryptor.checkPassword(password, encryptedPassword);
System.out.println(isPasswordCorrect);
}
}