PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Creazione utente con password crittografata in PostgreSQL

Puoi fornire la password già sottoposta a hash con md5 , come detto nel doc (CREA RUOLO):

ENCRYPTED UNENCRYPTED Queste parole chiave controllano se la password viene memorizzata crittografata nei cataloghi di sistema. (Se non viene specificato nessuno dei due, il comportamento predefinito è determinato dal parametro di configurazione crittografia_password.) Se la stringa della password presentata è già in formato crittografato MD5, viene archiviata crittografata così com'è , indipendentemente dal fatto che sia specificato ENCRYPTED o UNENCRYPTED (poiché il sistema non è in grado di decifrare la stringa di password crittografata specificata). Ciò consente di ricaricare le password crittografate durante il dump/ripristino.

L'informazione che manca qui è che la stringa crittografata con MD5 dovrebbe essere la password concatenata con il nome utente, più md5 all'inizio.

Quindi, ad esempio, per creare u0 con la password foobar , sapendo che md5('foobaru0') è ac4bbe016b808c3c0b816981f240dcae :

CREATE USER u0 PASSWORD 'md5ac4bbe016b808c3c0b816981f240dcae';

e poi u0 potrà accedere digitando foobar come password.

Non credo che al momento ci sia un modo per usare SHA-256 invece di md5 per le password PostgreSQL.