BCryptPasswordEncoder를 사용하여 스프링 보안을 사용하고 있습니다. 이제 비밀번호 변경을 위해 사용자가 제공 한 Existing Password와 DB 값을 비교해야합니다.BCryptPasswordEncoder를 사용하는 동안 동일한 해시 값 가져 오기
그러나 소금은 동적으로 BCryptPasswordEncoder
에 의해 생성되므로 아래의 메서드에서 다른 해시 값을 얻을 때마다 반드시 내 DB 값과 일치하지는 않습니다.
public static String encodePassword(String password) {
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String hashedPassword = passwordEncoder.encode(password);
return hashedPassword;
}
이 문제의 해결책은 무엇입니까? DB 필드에 사용 된 소금을 식별하고 위의 방법에서 같은 소금을 사용할 수 있습니까?
고마워, 이것을 시도하고 매력처럼 일했다. – mms