Bom dia…
Estou trabalhando em uma aplicaçao web onde o usuario se conecta diretamente ao banco firebird, e o banco que gerencia as tabelas e telas que ele tem acesso.
Isso acontece perfeitamente no delphi, e estamos migrando o programa para jsf, ja esta quase tudo terminado faltando apenas alguns detalhes e entre eles, a opçao de o usuario mudar sua senha no banco.
No delphi, possui um metodo que criptografa a senha e deixa pronto para alterar no banco, porem no java, tentei por meio de hash:
MessageDigest md = MessageDigest.getInstance("SHA-1");
md.reset();
String pass = new String(md.digest(senha.getBytes("ISO-8859-1")));
No entanto, ele gera em um padrao bem diferente do que é mostrado na tabela de users do security.fdb do firebird.
no firebird a senha na tabela users fica: WKyUccLcqgU
com o digest ele gera algo assim:
md.digest(senha.getBytes(“ISO-8859-1”)) = [B@40a
Para alterar a senha, eu me conecto diretamente ao security.fdb, e executo um sql semelhante a este:
UPDATE USERS SET PASSWD = '"+senha+"' WHERE USER_NAME= '"+ usuario
Existe outra maneira?
Alguem sabe como gerar a senha nesse padrao do firebird?
Alguem ja fez algo parecido?
Obrigado
Abraços!