sql >> Base de Datos >  >> RDS >> PostgreSQL

Creando usuario con contraseña encriptada en PostgreSQL

Puede proporcionar la contraseña ya cifrada con md5 , como se dice en el documento (CREAR ROL):

ENCRIPTADO NO ENCRIPTADO Estas palabras clave controlan si la contraseña se almacena cifrada en los catálogos del sistema. (Si no se especifica ninguno, el comportamiento predeterminado está determinado por el parámetro de configuraciónpassword_encryption). Si la cadena de contraseña presentada ya está en formato cifrado MD5, entonces se almacena cifrada tal cual , independientemente de si se especifica ENCRIPTADO o NO ENCRIPTADO (ya que el sistema no puede descifrar la cadena de contraseña cifrada especificada). Esto permite la recarga de contraseñas cifradas durante el volcado/restauración.

La información que falta aquí es que la cadena encriptada MD5 debe ser la contraseña concatenada con el nombre de usuario, más md5 al principio.

Entonces, por ejemplo, para crear u0 con la contraseña foobar , sabiendo que md5('foobaru0') es ac4bbe016b808c3c0b816981f240dcae :

CREATE USER u0 PASSWORD 'md5ac4bbe016b808c3c0b816981f240dcae';

y luego u0 podrá iniciar sesión escribiendo foobar como contraseña.

No creo que actualmente haya una forma de usar SHA-256 en lugar de md5 para contraseñas de PostgreSQL.