Re: Almacenar las claves encriptadas en una Tabla

From: Pascual De Ruvo <deruvo(at)gmail(dot)com>
To: Victor Montenegro Isidin <vhmontenegro(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Almacenar las claves encriptadas en una Tabla
Date: 2005-07-22 13:02:03
Message-ID: fb73c1ee05072206023fe16b2a@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 7/22/05, Victor Montenegro Isidin <vhmontenegro(at)gmail(dot)com> wrote:
>
> Holas:
>
> ¿ Como puedo guardar las claves encriptadas en una tabla?

Almacenando el hash de la clave. Un hash es una función en un sólo sentido,
es decir no hay una función inversa para obtener la clave a partir del hash.
Cuando el usuario introduce el password por 1ra vez, calculas el hash y lo
almacenas, posteriormente cuando el usuario se va a autenticar, calculas
nuevamente el hash del password ingresado y lo comparas con el valor
almacenado.

Uno de los algoritmos de hash más utilizados es md5.

¿ que tipo de dato debo usar para el campo?
char de tamaño 32

¿ que funcion debo utilizar para encriptar?

md5 ()

¿ cual funcion es la mejor ?

De nuevo, md5(), yo recomiendo almacenar el hash del username concatenado
con el password concatenado con una secuencia concatenado con un valor fijo,
de manera que en caso de que logren acceso a tu base de datos (sql injection
o lo que sea), e intercambian los passwords de 2 usuarios o bien calculan un
hash y lo almacenen en el campo password, el usuario no pueda ser
autenticado.

En la práctica:

Almacenar el password:

insert into usuarios (id,login,password) values
(nextval('secuencia'),login,md5 ('password' || 'login' ||
currval('secuencia')|| 'tuvalorfijo' ) );

Autenticar al usuario:

select id from usuarios where password = md5('password_insertado' ||
'login_insertado' || id || 'tuvalorfijo' ) and login = 'login_insertado';

Saludos,

Pascual De Ruvo

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-07-22 13:59:19 Re: Como puedo guardar archivos binarios en una tabla de una BD Postgresql
Previous Message Martín Marqués 2005-07-22 12:37:47 Re: Como puedo guardar archivos binarios en una tabla de una BD Postgresql