Вы можете указать версию bcrypt для использования с BCryptPasswordEncoder
Spring Security с перечислением BCryptVersion
. Это была добавленная функция в версии 5.2.0. По умолчанию версия установлена на $2A
. Поэтому вы не можете пройти аутентификацию в своем приложении.
Ваша конфигурация безопасности будет выглядеть примерно так:
...
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder.BCryptVersion;
@Configuration
public class MyWebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
...
}
@Bean
public UserDetailsService userDetailsService() {
...
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder(BCryptVersion.$2Y); // specified your bcrypt version here
}
}