我使用BCryptPasswordEncoder使用spring安全性.现在要更改密码,我需要做的是将用户提供的现有密码与DB值进行比较.
但是由于salt是动态生成的BCryptPasswordEncoder,每次我从下面的方法得到不同的散列值时,并不一定会与我的DB值匹配.
public static String encodePassword(String password) {
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String hashedPassword = passwordEncoder.encode(password);
return hashedPassword;
}
Run Code Online (Sandbox Code Playgroud)
这个问题的补救措施是什么?我可以识别用于我的DB字段的盐并在上面的方法中使用相同的盐吗?