我有一个密码更新功能,它使用以下方法:
protected String encodePassword(String password) {
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
System.out.println(password);
System.out.println(passwordEncoder.encode(password));
return passwordEncoder.encode(password);
}
在这样的更新方法中调用它:
user.setPassword(encodePassword(password));
但控制台打印输出是:
abc123
$2a$10$h0ya/4Ly7eenT.I5FAex9OByLa8S8yP.4H1lfGrCq/w4wD93p.4MK
$2a$10$o.//zfHY3jIyuzC0h.Z.c.AL9rPdrrWN4M8DaUpxmtqoQKA0D4udG
$2a$10$arkyirVDsfMbGWhDKBY02ehjDKXXa62yk8fD/b1Pa2I3AhlzhoK.a
$2a$10$5HpCoNtM3mTgBsJlyeP5v.5NdN7YkKkLJMXecJ8fs0yxkB1nrJpiq
$2a$10$94nfxZ7musAu//FRjgxSNOm92vf/FtZU1I2QNPJI3HNVsHfgVnqbi
该方法只被调用一次,但它产生了五个不同的值。怎么样?