Função de Criptografia SHA() do MySQL. Como faço no Hibernate?

4 respostas
W

Olá pessoal,

Tenho o seguinte problema. Eu utilizava Java + MySQL sem framework, então eu utilizava comando SQL para acessar o BD. No caso do login eu utilizava o seguinte método:

public boolean confirmaLoginByUserPass(String userLogin, String senhaLogin) {
        Login login = null;
        boolean teste = false;
        try {
            ResultSet rs =
                    this.statement.executeQuery( "SELECT * FROM usuario WHERE login = '"+userLogin+"'AND senha = SHA('"+senhaLogin+"')");
            if (rs.next()) {
                teste = true;
                login = new Login(  rs.getString(1),
                        rs.getString(2),
                        rs.getString(3));
            }
        } catch (SQLException sqle) {
            System.out.println(sqle.getMessage());
        }
        return teste;
    }

O problema é que agora estou alterando tudo para Hibernate. Como faço isso no Hibernate?

Grato.
Wallfox

4 Respostas

guilherme.chapiewski

Como isto é uma particularidade do banco de dados é bem possível que o Hibernate não faça.

Nestes casos é possível utilizar uma query nativa…

guilherme.chapiewski

Outra coisa que você pode fazer e que é mais inteligente é criptografar a senha na aplicação, assim não precisará usar a query nativa.

W

Guilherme,

Como eu faço para criptografar a senha na aplicação?

Grato.
Wallfox

guilherme.chapiewski

Divirta-se:

http://java.sun.com/j2se/1.5.0/docs/guide/security/CryptoSpec.html
http://java.sun.com/j2se/1.5.0/docs/api/javax/crypto/package-summary.html

Criado 3 de março de 2007
Ultima resposta 3 de mar. de 2007
Respostas 4
Participantes 2