純數字隨機密碼生成函式

2021-08-17 07:34:44 字數 1239 閱讀 5300

做一些小系統,經常要初始化使用者密碼,密碼要隨機,但又不能太複雜。特別像一些不重要的系統,比如,投票**等等。

下面就是我寫的純數字隨機密碼生成函式:

create or replace function public.isnumeric(text)

returns boolean

language sql

as $function$

select $1 ~ '^[0-9]+$'

$function$

;

create or replace function public.rnd_pwd(str varchar,len integer)

returns varchar

language plpgsql

as $function$

declare

str1 varchar;

v_sum varchar;

v_s varchar;

v_i integer;

begin

str1=str|| cast(now() as varchar);

str1=substr(md5(str1),1,len);

v_i:=1;

v_sum:='';

loop

v_s:=substr(str1,v_i,1);

if isnumeric(v_s) then

v_sum:=v_sum ||v_s;

else

v_sum:=v_sum || cast((ascii(v_s) -ascii('a')) as varchar) ;

end if;

v_i=v_i+1;

if v_i>length(str1) then

exit;

end if;

end loop;

return v_sum;

end;$function$

;

比如,我們可以這樣用:

select rnd_pwd('fdsfss',6);

rnd_pwd

---------

751533

或者批量生成隨機**,每個使用者不同,但是都是4位數字:

update t_user set pwd=rnd_pwd(logname,4);

生成隨機密碼

編寫乙個函式,用於生成隨機密碼,入參為隨機密碼的長度,出參為生成的隨機密碼,要求生成的隨機密碼必須同時包含大寫字母小寫字母數字。生成隨機碼,引數為隨機碼長度,同時包含大小寫字母和數字 public string getrandomnum int length listlist new arrayli...

php生成隨機密碼

隨機密碼生成 post number 0 數字 0 不啟用 1 啟用 post lowercase 0 小寫字母 post uppercase 0 大寫字母 post punctuation 1 特殊符號 post repeat 0 字元 1重複 0不重複 post length 31 密碼長度 p...

PowerShell生成隨機密碼

需求是這樣的,給員工重置密碼,密碼要是隨機的,但是0和o i和i這些不要,防止誤殺。我用的方法是這樣的,這是c 中web的乙個方法,很給力。assembly add type assemblyname system.web global passwordrandom system.web.secur...