Ejemplo Básico de PgCrypto

Pgcrypto es una extensión para encriptar datos en Postgresql, a partir de pg-9.1 se instala con create extension pgcrypto, para ello debemos tener instalado el paquete postgresql-contrib de la version de nuestro postgres.

Ejemplo de uso:

Creamos la siguiente tabla:

CREATE TABLE usuario
(
 id serial NOT NULL,
 usuario character varying(15) NOT NULL,
 clave bytea
)

Ingresamos datos:

insert into usuario (usuario, clave) values ('alex', encrypt('11112222', 'password','3des'))

Como vemos usamos la funcion encrypt, el primer parametro es la clave a encriptar, el segundo es la clave de encriptacion y el tercero el algoritmo utilizado, en nuestro caso 3des, mejor conocido como triple des

Si hacemos un select directo a la tabla nos mostrará algo como

usuario        clave
alex              \xefea90726dc45f756f40a9e22f66fc1a

Para tomar el valor desencriptado hacemos:

select usuario, encode(decrypt(clave,'password','3des'::text), 'escape'::text) AS clave from usuario

Publicado el 27/03/2012 en PostgreSQL. Añade a favoritos el enlace permanente. Deja un comentario.

Tu Opinión es Importante, Comenta!