Re: encriptacion de datos

From: Victor Montenegro Isidin <vhmontenegro(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: encriptacion de datos
Date: 2005-09-14 03:52:41
Message-ID: 53c05b1305091320526cff8e53@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

¿ 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';

--
Atte. Victor Montenegro Isidin
F: +56 57 435178
M: +56 082782070
Iquique - Chile

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message David Prieto 2005-09-14 06:16:20 RE: [psql-ayuda]Respaldar base de datos con Php
Previous Message Jota Machuca 2005-09-13 23:56:30 [psql-ayuda]Respaldar base de datos con Php