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

¿Cómo encripto contraseñas con PostgreSQL?

digest(data text, type text) returns bytea; no es una sintaxis válida.

Recomiendo usar bcrypt en cambio. No se requieren definiciones de funciones adicionales:

INSERT into "login" (login, password, employee_id) 
     VALUES ('email',crypt('password', gen_salt('bf'));

Más tarde...

UPDATE table SET password = crypt('password',gen_salt('bf'))

Y comprobando la contraseña:

SELECT ... FROM table 
    WHERE password is NOT NULL 
      AND password = crypt('password-to-test',password);

Bcrypt es recomendado por Crafted Software y Jeff Atwood . Los documentos oficiales de pgcrypto también puede ser de su interés.