Spring security中的BCryptPasswordEncoder方法对密码进行加密与密码匹配

1.BCryptPasswordEncoder使用之前要加入依赖

如果是SSM加入的依赖

	<dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>5.1.4.RELEASE</version>
     </dependency>

  

如果是SpringBoot加入的依赖

  <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring‐boot‐starter‐security</artifactId>
    </dependency>

 

BCryptPasswordEncoder bcryptPasswordEncoder = new BCryptPasswordEncoder();
加密:
bcryptPasswordEncoder.encode(password);

//password是输入的密码,encodedPassword是通过bcryptPasswordEncoder进行加密的密码
解密:
bcrytPasswordEncoder.matches(password,encodedPassword)

  

测试:

package com.qingfeng.service.impl;

import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

public class Test {

    public static void main(String[] args) {
        
        String password = "123456";
        BCryptPasswordEncoder bcryptPasswordEncoder = new BCryptPasswordEncoder();

        //加密:bcryptPasswordEncoder进行密码加密
        String encodedPassword = bcryptPasswordEncoder.encode(password);
        System.out.println("bcryptPasswordEncoder进行密码加密:"+encodedPassword);

        //解密:
        boolean flag = bcryptPasswordEncoder.matches(password, encodedPassword);
        //如果flag为true,则解密成功  false,则解密失败
        System.out.println("解密:"+flag);

    }

}

测试结果:

bcryptPasswordEncoder进行密码加密:$2a$10$z1l7KwMFGthgsNOg6h0I4OVTUUyhC11paX1PN8glw7bT3tL4feZ1u

解密:true

  

  

 

posted @ 2020-09-09 19:06  Amy清风  阅读(2716)  评论(0编辑  收藏  举报