1、添加commons-codec依赖

<!--        加密依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

2、在boot的启动类中声明。

@Bean
    public BCryptPasswordEncoder passwordEncoder(){
        return new BCryptPasswordEncoder();
    }

3、关掉权限验证。
在boot的启动类头部加上下面这个注解就可以关掉权限验证。

@EnableAutoConfiguration(exclude = {org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class })

4、注入到要使用的业务中

@Autowired
    private BCryptPasswordEncoder passwordEncoder;

5、使用
加密

//加密,strs要加密的字符串
        String strs="test";
        for (int i = 0; i < 3; i++) {
            System.out.println("第"+i+"次加密:"+passwordEncoder.encode(strs));
        }

输出结果:

spring boot 配置加密 spring boot 密码加密_spring boot 配置加密


我们可以看出虽然明文都一样,但是加密结果都是不一样的

验证明文密码和加密后的密码

//明文密码
        String strs="test";
        //加密过的密码,名文都是test
        List<String> encodeList = new ArrayList<>();
        encodeList.add("$2a$10$XHsBzIixVCQnTmGVTzQL..yNOpnGMf8hd1RUyiKCbbvJVYIb2vEp6");

        encodeList.add("$2a$10$4Ri2UCscYMeBfnMuiWH0c./3Uz3kCFaddFjBq3yeQLWZOO6Ef8gKq");
        encodeList.add("$2a$10$R7uwcxsGo5Ox78QAOkOltOsnCGL505NiFlpRuba4iCiS4yXYGpn82");
        //其它加密后的明文密码
        encodeList.add("$2a$10$ijITqdz.PAss3yQxb/iAueVP8a5W2lqUT1JrxNihpmmQXXmnhn3ry");

        //验证明文密码和加密后的密码
        for (int i = 0; i < encodeList.size(); i++) {
            System.out.println(passwordEncoder.matches(strs,encodeList.get(i)));
        }

输出结果:

spring boot 配置加密 spring boot 密码加密_spring boot_02