Re: desencriptar un password

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

In response to

Browse pgsql-es-ayuda by date

  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