Estou utilizando spring security em uma aplicação e estou enfrentando o seguinte problema, quando crio alguma senha com acento não consigo logar no meu sistema.
Já estou salvando a senha em MD5 desta forma:
byte[] bytesSenha = senha.getBytes();
messageDigest.update(bytesSenha);
String senhaMD5 = new String(messageDigest.digest());
J
j2tinho
Olá Isjunior, obrigado pela resposta, mas ainda não resolveu foi gerado alguns caracteres estranhos da forma que vc sugeriu.
L
lsjunior
Vc tem que aplicar o base64 ou hex para deixar de acordo com o que vc precisa.
J
j2tinho
Olá Pessoal!
Na verdade o problema me parece ser de encoding, ou seja, no form de login do spring está bagunçando a acentuação.
Alguém tem alguma idéia?
L
lsjunior
Foi o que eu disse, vc além de aplicar o MD5 vc precisa aplicar base64 ou hex nos bytes.
J
j2tinho
Olá!
Então na verdade fiz uns testes e percebi quando o username está com acento não é possível logar, então acho que não é problema na geração do MD5.
Já coloquei um filtro no meu web.xml que seta o encoding para UTF-8.
Alguém tem alguma idéia?
Sobre o encoding vc pode ajustar na página, no servidor e no sistema operacional.Vale a pensa criar um JSP com um campo de texto para verificar se está realmente com problema de charset. É bem mais facil testar e arumar.
<%@pagelanguage="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><%Stringtext=request.getParameter("text");%><html><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"><title></title></head><body><formaction="index.jsp"><inputtype="text"id="text"name="text"value="<%=text%>"/><inputtype="submit"id="submit"name="submit"value="Enviar"/></form></body></html>