BCryptPasswordEncoder为什么不同加密结果能验证同一个明文密码

发布时间:2024年01月04日

🍁 作者:知识浅谈,CSDN签约讲师,CSDN博客专家,华为云云享专家,阿里云专家博主
📌 擅长领域:全栈工程师、爬虫、ACM算法
💒 公众号:知识浅谈
🔥网站:vip.zsqt.cc

🤞BCryptPasswordEncoder为什么不同加密结果能验证同一个明文密码🤞

🛴🛴🛴:刚开始弄的时候实在是搞不清楚这个BCryptPasswordEncoder是怎么搞的

🎈直接上代码

@SpringBootTest
class SecurityApplicationTests {
    BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();

    @Test
    void contextLoads() {
        String aaapassword1 = passwordEncoder.encode("zsqt");
        String aaapassword2 = passwordEncoder.encode("zsqt");

        System.out.println(passwordEncoder.matches("zsqt", aaapassword1));
        System.out.println(passwordEncoder.matches("zsqt", aaapassword2));
    }

}

两次的结果都是true,两次加密使用的是随机生成的不同的密钥,在匹配的时候重点来了:是先取出盐值 然后把明文加密之后再匹配。

是先取出盐值 然后把明文加密之后再匹配。就这一句话是精髓

🍚总结

大功告成,撒花致谢🎆🎇🌟,关注我不迷路,带你起飞带你富。
Writted By 知识浅谈

文章来源:https://blog.csdn.net/qq_37699336/article/details/135379540
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。