O meu XML de configuração de acesso ao banco para abrir a aplicação está com a seguinte verificação de segurança:
<sec:authentication-manager>
<sec:authentication-provider>
<!-- <sec:password-encoder hash="md5" /> -->
<sec:jdbc-user-service
data-source-ref="dataSource"
users-by-username-query="SELECT login as username, senha as password, 1 as enable FROM tabelaAcessoRPG where login=?;"
authorities-by-username-query="SELECT login as username, 'MESTRE' as role FROM tabeloAcessoRPG where login=?;"/>
</sec:authentication-provider>
</sec:authentication-manager>
No banco, a senha (é criada por outro sistema) é criptografada.
Quando eu deixo a linha do password-encoder comentada, o login é feito com o resultado da criptografia da senha original (ao invés de usar a senha original, preciso colocar o hash dela).
Quando eu descomento a linha do password-encoder, o Tomcat não autentica.
O log de erro apresenta:
2021-07-01 21:33:47,488 DEBUG jdbc.datasource.DataSourceUtils ----> Fetching JDBC Connection from DataSource
2021-07-01 21:33:47,494 DEBUG jdbc.datasource.DataSourceUtils ----> Returning JDBC Connection to DataSource
2021-07-01 21:33:47,502 DEBUG authentication.dao.DaoAuthenticationProvider ----> Authentication failed: password does not match stored value
2021-07-01 21:33:47,503 DEBUG web.authentication.UsernamePasswordAuthenticationFilter ----> Authentication request failed: org.springframework.security.authentication.BadCredentialsException: Usuário inexistente ou senha inválida
2021-07-01 21:33:47,503 DEBUG web.authentication.UsernamePasswordAuthenticationFilter ----> Updated SecurityContextHolder to contain null Authentication
2021-07-01 21:33:47,503 DEBUG web.authentication.UsernamePasswordAuthenticationFilter ----> Delegating to authentication failure handlerorg.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler@6d0d1b2c
2021-07-01 21:33:47,503 DEBUG web.authentication.SimpleUrlAuthenticationFailureHandler ----> Redirecting to /raiz/f/login.xhtml?fail
2021-07-01 21:33:47,504 DEBUG security.web.DefaultRedirectStrategy ----> Redirecting to '/raiz/f/login.xhtml?fail'
Alguém pode me orientar sobre como posso criptografar essa senha (MD5) de forma correta, para a autenticação funcionar?
Muito obrigado.