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

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

O hibernate te permite executar querys nativas de sql. Da uma lida na documentação.

Você tmb pode criar sua propria rotina que criptografe a informação antes de inserir ou depois de recuperar as informações do banco.

Olá,

Como faço para criar minhas próprias rotinas de criptografia?

Grato.
Wallfox

crie um método de criptografia, q recebe uma string e devolve outra criptografada…
aih eh soh mandar a senha criptografada pro banco…aih antes de vc fazer a comparação, na sua clausula where, criptografe a string recebida utilizando o mesmo método…

dependendo do algoritmo q vc implementar, crie um método q descriptografe tb…se vc precisar claro…

ajudei?

Maravilha!