做一些小系統,經常要初始化使用者密碼,密碼要隨機,但又不能太複雜。特別像一些不重要的系統,比如,投票**等等。
下面就是我寫的純數字隨機密碼生成函式:
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...