🍁 作者:知识浅谈,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 知识浅谈