为了防止有人获取数据库信息后,获取用户账户密码,所以用户的密码需要加密后,在进行保存。在SpringSecurity中,所有加密方式的父类为PasswordEncoder类。
    PasswordEncoder共有如下几个方法:

    1. public interface PasswordEncoder {
    2. //对字符串进行编码
    3. String encode(CharSequence var1);
    4. //判断字符串是否匹配
    5. boolean matches(CharSequence var1, String var2);
    6. //制定是否升级规则
    7. default boolean upgradeEncoding(String encodedPassword) {
    8. return false;
    9. }
    10. }

    常用的加密类为 BcryptPasswordEncoder类:

    //常用方式    
        @Bean
        public PasswordEncoder passwordEncoder(){
            return new BCryptPasswordEncoder();
        }
    
    
    //加密
        String password = "password";
        passwordEncoder().encode(password);
    
    //匹配
        String password = "password";
        String param = "test";
        passwordEncoder().matches(password,param);