From: | "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | "Alejandro D(dot) Burne" <alejandro(dot)dburne(at)gmail(dot)com> |
Cc: | "PostgreSQL General ML" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Users functions library |
Date: | 2008-07-13 05:07:58 |
Message-ID: | 162867790807122207v260b295arad626da607af89c8@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hello
safe it to pgfoundry http://pgfoundry.org/
regards
Pavel Stehule
2008/7/13 Alejandro D. Burne <alejandro(dot)dburne(at)gmail(dot)com>:
> 2008/7/12 Alejandro D. Burne <alejandro(dot)dburne(at)gmail(dot)com>:
>> Hi, I need to write a function that gives me a password string, no
>> just a numbers-characters string; something like people wrote in php,
>> its based on determined syllables and numbers.
>> I think it be useful to other people, is there a site where one can
>> post it and share with other postgres users?
>>
>> Alejandro
>>
>
> Sorry, the function:
>
> CREATE OR REPLACE FUNCTION gen_password(plenght smallint)
> RETURNS bpchar AS
> $BODY$
>
> DECLARE
> lValid_Consonant bpchar DEFAULT 'BCDFGHJKMNPRSTV';
> lValid_Vowel bpchar DEFAULT 'AEIOUY';
> lValid_Numbers bpchar DEFAULT '23456789';
>
> lConsonant_Length smallint DEFAULT char_length(lValid_Consonant);
> lVowel_Length smallint DEFAULT char_length(lValid_Vowel);
> lNumbers_Length smallint DEFAULT char_length(lValid_Numbers);
>
> lPassword bpchar DEFAULT '';
>
> BEGIN
> LOOP
> IF ROUND(RANDOM()*3)<>1 THEN
> lPassword:=lPassword||SUBSTRING(lValid_Consonant FROM
> (ROUND(RANDOM()*(lConsonant_Length-1))+1)::integer FOR 1)||
> SUBSTRING(lValid_Vowel FROM
> (ROUND(RANDOM()*(lVowel_Length-1))+1)::integer FOR 1);
> IF ROUND(RANDOM()*2)<>1 THEN
> lPassword:=lPassword||SUBSTRING(lValid_Consonant FROM
> (ROUND(RANDOM()*(lConsonant_Length-1))+1)::integer FOR 1);
> END IF;
> ELSE
> lPassword:=lPassword||SUBSTRING(lValid_Numbers FROM
> (ROUND(RANDOM()*(lNumbers_Length-1))+1)::integer FOR 1);
> END IF;
> IF char_length(lPassword) >= plenght THEN
> EXIT;
> END IF;
> END LOOP;
>
> RETURN SUBSTRING(lPassword FROM 1 FOR plenght);
> END;
>
> $BODY$
> LANGUAGE 'plpgsql' VOLATILE;
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>
From | Date | Subject | |
---|---|---|---|
Next Message | Karsten Hilbert | 2008-07-13 08:53:13 | Re: Users functions library |
Previous Message | Alejandro D. Burne | 2008-07-13 04:09:28 | Re: Users functions library |