为了防止有人获取数据库信息后,获取用户账户密码,所以用户的密码需要加密后,在进行保存。在SpringSecurity中,所有加密方式的父类为PasswordEncoder类。
PasswordEncoder共有如下几个方法:
public interface PasswordEncoder {
//对字符串进行编码
String encode(CharSequence var1);
//判断字符串是否匹配
boolean matches(CharSequence var1, String var2);
//制定是否升级规则
default boolean upgradeEncoding(String encodedPassword) {
return false;
}
}
常用的加密类为 BcryptPasswordEncoder类:
//常用方式
@Bean
public PasswordEncoder passwordEncoder(){
return new BCryptPasswordEncoder();
}
//加密
String password = "password";
passwordEncoder().encode(password);
//匹配
String password = "password";
String param = "test";
passwordEncoder().matches(password,param);