Puedes usar las funciones clasicas de cifrado o hash:
http://www.postgresql.org/docs/9.1/static/pgcrypto.html


De esas recomiendo un SHA-1 si el Nro de documento será obtenido en la 
aplicación, enviado como parámetro a una function de postgresql y se le 
aplicaria el SHA-1 a ese dato, luego se compara en esa function con el valor de 
la BD y verificar si son iguales.

Si va a ser comparado CIFRANDO SIMETRICAMENTE el nro de doc, puedes usar AES, 
solo ten en cuenta que en la aplicación debe estar la clave privada del cifrado.

Puedes usar tambíen RSA, pero creo que complicaría un poco las cosas ya que 
tienes que guardar la clave publica y la privada.

Sin embargo, deberías leer esto para una arquitectura completa de cifrado 
usando postgresql:
http://www.hagander.net/talks/Encrypted%20PostgreSQL.pdf




>________________________________
> De: Conrado Blasetti <conr...@mapfre.com.ar>
>Para: "pgsql-es-ayuda@postgresql.org" <pgsql-es-ayuda@postgresql.org> 
>Enviado: Jueves 21 de febrero de 2013 7:32
>Asunto: [pgsql-es-ayuda] Encriptar campo
> 
>Gente, buenos días.
>
>Estoy trabajando sobre Win7 con una app desktop con c# (.net) y PostgreSQL 9.0.
>Tengo una tabla con un campo del tipo character varying(20), el cual 
>representa un Nro de Documento (Argentina).
>Necesito encriptar este campo de manera tal que, desde la base de datos, no 
>pueda ser legible y que solo pueda ser consumida desde la misma app desktop.
>
>El campo será indexado y de busquedas constantes.
>Qué tipo de encryptado o técnica me sugieren?
>
>Desde ya, muchas gracias.
>Saludos,
>
>Conrado
>
>-
>Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
>Para cambiar tu suscripción:
>http://www.postgresql.org/mailpref/pgsql-es-ayuda
>
>
>

Responder a