PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Criando usuário com senha criptografada no PostgreSQL


Você pode fornecer a senha já com hash com md5 , como dito no doc (CREATE ROLE):

ENCRYPTED UNENCRYPTED Estas palavras-chave controlam se a senha é armazenada criptografada nos catálogos do sistema. (Se nenhum for especificado, o comportamento padrão é determinado pelo parâmetro de configuração senha_encriptação.) Se a string de senha apresentada já estiver no formato criptografado em MD5, ela será armazenada criptografada como está , independentemente de ENCRYPTED ou UNENCRYPTED ser especificado (já que o sistema não pode descriptografar a string de senha criptografada especificada). Isso permite o recarregamento de senhas criptografadas durante o dump/restauração.

A informação que está faltando aqui é que a string criptografada em MD5 deve ser a senha concatenada com o nome de usuário, mais md5 no inicio.

Por exemplo, para criar u0 com a senha foobar , sabendo que md5('foobaru0') é ac4bbe016b808c3c0b816981f240dcae :
CREATE USER u0 PASSWORD 'md5ac4bbe016b808c3c0b816981f240dcae';

e então u0 poderá fazer login digitando foobar como a senha.

Não acho que exista atualmente uma maneira de usar SHA-256 em vez de md5 para senhas do PostgreSQL.