SpringSecurity对同一文字加密每次得到的结果都不一样,随便将一个结果存入数据库,为什么能匹配成功?
加密代码:
@Test
public void test(){
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
System.out.println(encoder.encode("123456"));
}
//三次测试结果:
//$2a$10$52U5lML0Sg05RjfA.T7VxeEWOT7oHBoOWyNRtzuImh7BqqVW2PPhe
//$2a$10$.68sW52yi85RuOjsiLWJX.GH4FMUL52NOFT0sVBIZa9xkCEH.WbhG
//$2a$10$zbW2f6JA7wBbiA1adUXoXOB15gVu457Wus3Ujz/SSvkB5TIk0U8VO
我认为匹配规则是将我输入的明文加密,然后与数据库中的密文逐一比对,但是每次加密的密文都不同,为何还能匹配成功?