U kunt het reeds gehashte wachtwoord opgeven met md5
, zoals vermeld in het document (ROLE MAKEN):
ENCRYPTED ONGECRYPTED Deze sleutelwoorden bepalen of het wachtwoord versleuteld wordt opgeslagen in de systeemcatalogi. (Als geen van beide is opgegeven, wordt het standaardgedrag bepaald door de configuratieparameter password_encryption.) Als de gepresenteerde wachtwoordreeks al een MD5-gecodeerd formaat heeft, wordt het gecodeerd opgeslagen zoals het is , ongeacht of ENCRYPTED of UNENCRYPTED is opgegeven (aangezien het systeem de opgegeven gecodeerde wachtwoordreeks niet kan decoderen). Hierdoor kunnen versleutelde wachtwoorden opnieuw worden geladen tijdens dump/restore.
De informatie die hier ontbreekt, is dat de met MD5 versleutelde tekenreeks het wachtwoord moet zijn, samengevoegd met de gebruikersnaam, plus md5
aan het begin.
Dus bijvoorbeeld om u0
. aan te maken met het wachtwoord foobar
, wetende dat md5('foobaru0')
is ac4bbe016b808c3c0b816981f240dcae
:
CREATE USER u0 PASSWORD 'md5ac4bbe016b808c3c0b816981f240dcae';
en dan kan u0 inloggen door foobar
. te typen als het wachtwoord.
Ik denk niet dat er momenteel een manier is om SHA-256
te gebruiken in plaats van md5
voor PostgreSQL-wachtwoorden.