PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Benutzer mit verschlüsseltem Passwort in PostgreSQL erstellen

Sie können das bereits gehashte Passwort mit md5 angeben , wie im Dokument gesagt (CREATE ROLE):

ENCRYPTED UNENCRYPTED Diese Schlüsselwörter steuern, ob das Passwort in den Systemkatalogen verschlüsselt gespeichert wird. (Wenn beides nicht angegeben ist, wird das Standardverhalten durch den Konfigurationsparameterpassword_encryption bestimmt.) Wenn die präsentierte Passwortzeichenfolge bereits im MD5-verschlüsselten Format vorliegt, wird sie so wie sie ist verschlüsselt gespeichert , unabhängig davon, ob ENCRYPTED oder UNENCRYPTED angegeben ist (da das System die angegebene verschlüsselte Kennwortzeichenfolge nicht entschlüsseln kann). Dies ermöglicht das erneute Laden verschlüsselter Passwörter während des Dump/Restore.

Die Information, die hier fehlt, ist, dass die MD5-verschlüsselte Zeichenfolge das Passwort sein muss, das mit dem Benutzernamen verkettet ist, plus md5 am Anfang.

Also zum Beispiel um u0 zu erstellen mit dem Passwort foobar , wissend, dass md5('foobaru0') ist ac4bbe016b808c3c0b816981f240dcae :

CREATE USER u0 PASSWORD 'md5ac4bbe016b808c3c0b816981f240dcae';

und dann kann sich u0 anmelden, indem Sie foobar eingeben als Passwort.

Ich glaube nicht, dass es derzeit eine Möglichkeit gibt, SHA-256 zu verwenden statt md5 für PostgreSQL-Passwörter.