BCryptPasswordEncoder的理解

发布时间 2023-03-30 10:54:51作者: 成佛在西天

定义

  spring security中的BCryptPasswordEncoder方法采用SHA-256 +随机盐+密钥对密码进行加密;该加密过程不可逆;

  BCrypt强哈希方法 每次加密的结果都不一样;但由于每次加密的内容是一样的,所以匹配时还是可以成功;这一点需要特别注意;

 

示例

public class BCryptPasswordEncoderTest {
    public static void main(String[] args) {
        String pass = "admin";
        BCryptPasswordEncoder bcryptPasswordEncoder = new BCryptPasswordEncoder();
        String hashPass = bcryptPasswordEncoder.encode(pass);
        System.out.println(hashPass);

        boolean f = bcryptPasswordEncoder.matches("admin",hashPass);
        System.out.println(f);
    }
}

 

 

参考链接

【1】https://blog.csdn.net/qq_26018075/article/details/114538563