Spring boot中如何对用户密码进行加密

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));
        }

输出结果:
在这里插入图片描述
我们可以看出虽然明文都一样,但是加密结果都是不一样的
验证明文密码和加密后的密码

//明文密码
        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)));
        }

输出结果:在这里插入图片描述

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值