首先引入BCrypt依赖
<dependency>
<groupId>org.mindrot</groupId>
<artifactId>jbcrypt</artifactId>
<version>0.4</version>
</dependency>```
编写工具类
package com.paoxiaomo.javaee.util;
import org.mindrot.jbcrypt.BCrypt;
public class PasswordEncryptionUtil {
/**
* 加密密码
*
* @param rawPassword 原始密码
* @return 加密后的密码
*/
public static String encodePassword(String rawPassword) {
// 生成盐值并加密密码
return BCrypt.hashpw(rawPassword, BCrypt.gensalt());
}
/**
* 校验密码是否匹配
*
* @param rawPassword 原始密码
* @param encodedPassword 加密后的密码
* @return 校验结果,true 为匹配,false 为不匹配
*/
public static boolean matches(String rawPassword, String encodedPassword) {
// 校验原始密码和加密后的密码是否匹配
return BCrypt.checkpw(rawPassword, encodedPassword);
}
}
我们接下来就能用这个工具类进行密码的加密以及验证