版權聲明:本文爲 小異常 原創文章,非商用自由轉載-保持署名-註明出處,謝謝!
本文網址:https://blog.csdn.net/sun8112133/article/details/107057062
BCrypt 是一種加密方式,目前使用比較火。在這裏我不得不說一下 MD5 加密現在已經弱爆了,目前最新版的 Spring Security 中已經把 MD5 剔除了,MD5 太不安全了,更推薦用 BCrypt 加密,而且什麼鹽值加密也很少用,因爲 BCrypt 中已經將 salt 加進去了。
Spring Security 提供了 BCryptPasswordEncoder 類,實現 Spring 的 PasswordEncoder 接口使用 BCrypt 強哈希方法來加密密碼。BCrypt 強哈希方法 每次加密的結果都不一樣。
本篇博客主要以案例來演示使用 BCryptPasswordEncoder 類進行簡單加密與驗證。
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
public class Test {
public static void main(String[] args) {
BCryptPasswordEncoder bcp = new BCryptPasswordEncoder();
// 原始密碼(明文密碼)
String rawPassword = "123456";
// 使用 BCrypt 對明文加密
String encodedPassword = bcp.encode(rawPassword);
System.out.println(encodedPassword);
// 校驗密碼
if (bcp.matches(rawPassword, encodedPassword)) {
System.out.println("密碼校驗成功");
} else {
System.out.println("密碼錯誤");
}
}
}