用户密码加密存储与铺垫知识jwt工具类使用

发布时间 2023-04-25 09:36:30作者: zj勇敢飞,xx永相随

用户密码加密存储

    密码加密存储

      实际项目我们不会把密码明文存储在数据库中。

        默认使用PasswordEncoder要求数据库中的密码格式为{id}passwrod。它会根据id去判断密码为加密方式。但是我们一般不会采用这种方式。所以就需要替换PasswordEncoder。

          我们一般使用SpringSecurity为我们提供的BCryptPasswordEncoder。

        我们只需要使用把BCryptPasswordEncoder对象注入Spring容器中,SpringSecurity就会使用该PasswordEncoder来进行密码校验

        我们可以定义SpringSecurity的配置类,SpringSecurity要求这个配置类要继承WebSecurityConfigurerAdapter

package com.example.qinghuatokendemo.Config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

      //创建BCryptPasswordEncoder注入容器
    @Bean
    public PasswordEncoder passwordEncoder(){
        return new BCryptPasswordEncoder();
    }

}

铺垫知识jwt工具类使用