Re: Crear claves aleatorias

From: Rafael Martinez <r(dot)m(dot)guerrero(at)usit(dot)uio(dot)no>
To: Gorka <gorkapostgres(at)yahoo(dot)es>
Cc: POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Crear claves aleatorias
Date: 2009-10-08 14:02:48
Message-ID: 4ACDF108.9050803@usit.uio.no
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Gorka wrote:
> ¿Hay alguna manera en postgres de crear una función que genere passwords
> aleatorias?
>

Hola

Te mando esta funcion que puedes utilizar para generar claves
aleatorias. El parametro aleatorio lo define la funcion random().

- ------------------------------------------------------------------------
CREATE OR REPLACE FUNCTION generate_password(integer) RETURNS TEXT AS $$
DECLARE
len ALIAS FOR $1;
cnt INTEGER;
password TEXT :='';

characters_not_included TEXT := E''',-./:;<>@^_`\\';
BEGIN

FOR cnt IN 1..len LOOP
password := password || chr(round((random()*87)+35)::integer);
END LOOP;

password :=
translate(password,characters_not_included,substr(md5(random()::text),round((random()*(32-char_length(characters_not_included))))::integer,char_length(characters_not_included)));

RETURN password;

END;
$$ LANGUAGE plpgsql;
- ------------------------------------------------------------------------

Ejemplo:

SELECT generate_password(8);
generate_password
- -------------------
r58R1N=Z
(1 row)

- --
Rafael Martinez, <r(dot)m(dot)guerrero(at)usit(dot)uio(dot)no>
Center for Information Technology Services
University of Oslo, Norway

PGP Public Key: http://folk.uio.no/rafael/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.7 (GNU/Linux)

iD8DBQFKzfEBBhuKQurGihQRAjqQAJwPHPddZ2o94SFMM/R1tgYBQ1VsYwCeLqoG
pGzGrCMQf6elmOgoQ+sKH4U=
=c8rf
-----END PGP SIGNATURE-----

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Diego Gil 2009-10-08 14:19:31 Re: [OT]Mapas de Google y Postgis
Previous Message Edwin Quijada 2009-10-08 13:44:04 RE: [OT]Mapas de Google y Postgis