为了防止有人获取数据库信息后,获取用户账户密码,所以用户的密码需要加密后,在进行保存。在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);
