系列二、Spring Security核心类

发布时间:2024年01月12日

一、Spring Security核心类

1.1、自动配置类

UserDetailsServiceAutoConfiguration

1.2、密码加密器

1.2.1、概述

????????Spring Security 提供了多种密码加密方案,官方推荐使用 BCryptPasswordEncoder,BCryptPasswordEncoder 使用 BCrypt 强哈希函数,开发者在使用时可以选择提供 strength 和 SecureRandom 实例。strength 越大,密钥的迭代次数越多,密钥迭代次数为 2^strength。strength 取值在 4~31 之间,默认为 10。不同于 Shiro 中需要自己处理密码加盐,在 Spring Security 中,BCryptPasswordEncoder 就自带了盐,处理起来非常方便。而 BCryptPasswordEncoder 就是 PasswordEncoder 接口的实现类。

1.2.2、PasswordEncoder

public interface PasswordEncoder {
	/*
	 * encode 方法用来对明文密码进行加密,返回加密之后的密文
	 */
    String encode(CharSequence var1);
	
	/*
	 * matches方法是一个密码校对方法,在用户登录的时候,将用户传来的明文密码和数据库中保存的密文密码作为参数,
	 * 传入到这个方法中去,根据返回的 Boolean 值判断用户密码是否输入正确
	 */	
    boolean matches(CharSequence var1, String var2);

	/*
	 * upgradeEncoding 是否还要进行再次加密,这个一般来说就不用了
	 */	
    default boolean upgradeEncoding(String encodedPassword) {
        return false;
    }
}

?

文章来源:https://blog.csdn.net/HelloWorld20161112/article/details/135539563
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。