Criei um servlet para fazer login de alguns usuários já existentes no banco de dados.O problema é que a senha está criptografada, e não sei como fazer para comparar a senha do banco com a senha digitada pelo usuário para concluir o login.
Alguem sabe como posso resolver isso, no momento da comparação das senhas?
bom normalmente o pessoal usa MD5 para armazenar senhas em banco
que na verdade é um campo texto…
dai no caso é apenas comparar se as Strings são iguais…
mas caso não seja… ai tem que ver que tipo que é o campo
da senha no banco… :roll:
P
patyagmPJ
Acho que entendi,mas como devo fazer a comparação?
Estou fazendo da seguinte forma,porém não da certo:
PreparedStatement stmt=con.prepareStatement(“select * from Usuario where usu_login=? and usu_senha=?”);
stmt.setString(1,nome);
stmt.setString(2,senha);
E
ErkoPJ
a SQL é aquela ali mesmo…
mas como vc está tratando a senha?
está mandando ela normal ou antes usa uma função MD5?
:roll:
P
patyagmPJ
To mandando a senha normal, a minha dúvida é justamente essa: como trata-la…?
Como devo usar essa função MD5?
no caso se no banco as senhas estão armazenadas em MD5
primeiro você terá que pegar a senha usar a transformação
para MD5, depois enviar esta na SQL para comparar com a
senha armazenada na base
P
patyagmPJ
Além do MD5 existe outro? Pois tentei 3 funções dos links que vc me passou mas nenhuma delas funcionou.Todas geraram as senhas criptografadas, porém não consegui compara-las, não são iguais as que estão na tabela.Estou usando o SQLServer 5.1.
E
ErkoPJ
qual o tipo de campo que é este que estão suas senhas? :roll:
P
patyagmPJ
Acho que já descobri…o problema é que a criptografia aqui não é do banco, o código do sistema que cadastra os logins dos funcionários é que tem umas funções para criar senha criptografada…vou ter que traduzir tais funções para o java para eu poder fazer o login…