Todos los MD5 son de 32 caracteres, Por tanto, el datatype debiese ser char(32).

Lo mejor para encriptar una contraseña es jugar con los SALT, ya que si encriptas la password a secas sera cosa de buscar el string md5 en google y daras con la contraseña, sino por fuerza bruta.

Cabe recordar que no existe forma de hacer un reverso de un MD5, por tanto, el SALT siempre lo debes de recordar en tu aplicación.

SELECT md5('pass123' || 'SALT2 %&/323* *');

SELECT md5('12345' || 'SALT2 %&/323* *');

SELECT md5('micasa' || 'SALT2 %&/323* *');



El 07-12-2009, a las 12:04, Roberto Rodríguez Pino escribió:

El lun, 07-12-2009 a las 12:07 -0300, Z.M. escribió:


CREATE TABLE usuario(
login varchar(8) primary key, -- nombre de usuario
codsistema int, -- codigo externo al sistema, asignado por el sistema UMV (compativilidad)
password varchar(32), -- contraseña suministrada por el usuario
permiso varchar(2) -- codigo de los permisos del usuario
);

¿hay alguna manera de ocultar el campo password? Es decir hoy abro la base de datos access y puedo ver el password de todos los usuarios. ¿Hay alguna manera de encriptar este password para que sea ilegible aun para el administrador de la base de datos? ¿Hay algun tipo especial de dato que me permita hacer esto?

Hace tanto tiempo que trabaje con Access, pero creo recordar que existía un tipo de datos password, que de ocultaba la contraseña ... ahora no me
queda claro si era un tipo de dato o una función.

En postgresql se me ocurre sin darle mucho taller que al captarlos de
apliques la función MD5(md5... lo tecleado)

Entonces la funcion MD5() me devuelve un dato de tipo varchar() ¿es correcto? ¿podria decir que la estructura de la tabla esta bien planteada? Mas alla que el dato que teclee el usuario, lo tenga que pasar por la funcion MD5() para compararlo con el de la tabla.


Si. Aunque averigua de que largo queda la salida despues de pasar por
md5 el texto ingresado (la password en si). Puede que te quede corto el
campo.
Saludos,
Roberto



------------------------
Manuel Diego Paillafil Gamboa
[email protected]
Móvil: 06 - 801 60 24




Responder a