Administração do sistema

Como popular SENHA_HASH nas bases de dados PostgreSQL?

RT.FAQ-7750
Na conversão da senha para senha_hash, será necessário migrar os valores das colunas.
Para isso, será necessário instalar a extensão pgcrypto no PostgreSQL.

Java

Se o sistema tiver o pacote RTAUTH_UTIL, basta chamar a interface UTL_PASSWORD_HASH (UtlPasswordHash).
Esta interface irá gerar o hash de senha de todos os usuários que tiverem uma senha texto e não tiver a senha hash.

Versão 9.1


1) Logar como super-usuário e executar:

CREATE EXTENSION pgcrypto SCHEMA public;

2) Popular as senhas executando:
UPDATE nome-db.usuario SET senha_hash = encode(digest(senha, 'sha1'),'hex');

Versão 8

1) Para incluir o pgCrypto execute: (pode variar de versão do banco)
root@prd:~# psql -h 127.0.0.1 -U postgres
\c appref
\i /usr/share/postgresql/8.4/contrib/pgcrypto.sql

2) Popular as senhas executando:
UPDATE nome-db.usuario SET senha_hash = encode(digest(senha, 'sha1'),'hex');