From: | Gunnar Wolf <gwolf(at)gwolf(dot)org> |
---|---|
To: | Felipe Amezquita <felmarla(at)gmail(dot)com> |
Cc: | postgresayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: desencriptar un password |
Date: | 2007-05-06 00:23:58 |
Message-ID: | 20070506002358.GD4295@gwolf.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Felipe Amezquita dijo [Sat, May 05, 2007 at 12:46:04PM -0500]:
> que tal lista ...
>
> Estoy creando un pl de validacion y quiero validar el password pero el me
> devuelve eso encriptado y al compararlo con el texto no me da igual
> que puedo hacer gracias.
> suerte.
Supongo que querrás hacer algo así - Va sin verificar, lo escribo al
vuelo sobre el correo.
-- Establece la contraseña para el usuario del login especificado.
-- No tiene control de errores, ese te toca a tí :)
CREATE FUNCTION set_passwd (text, text) RETURNS boolean AS
$$
DECLARE
usrlogin ALIAS FOR $1;
clear_passwd ALIAS FOR $2;
BEGIN
UPDATE usuario SET passwd = md5(clear_passwd) WHERE login = usrlogin;
RETURN true;
END;
$$
LANGUAGE 'plpgsql';
-- Verifica si el usuario proporcionó una contraseña válida
CREATE FUNCTION ck_passwd (text, text) RETURNS boolean AS
$$
DECLARE
usrlogin ALIAS FOR $1;
clear_passwd ALIAS FOR $2;
BEGIN
SELECT id FROM usuario WHERE login = usrlogin AND passwd = md5(clear_passwd);
IF NOT FOUND THEN
RETURN false;
END IF;
RETURN true;
END;
$$
LANGUAGE 'plpgsql';
Dejo pendientes algunos detalles (p.ej. manejo de errores) a propósito
para que tengas con qué divertirte ;-)
Saludos,
--
Gunnar Wolf - gwolf(at)gwolf(dot)org - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2007-05-06 03:59:30 | Re: funciones y ROLLBACK |
Previous Message | Gunnar Wolf | 2007-05-06 00:11:08 | Re: postgres y SSL |