PostgreSQL密码生成器

时间:2016-05-22 19:05:43

标签: sql database postgresql security passwords

我需要一些sql pass生成器的帮助。我已经有一个函数返回8个随机字符,但我必须确定,有小写和大写字符和数字。有什么建议?这是我的旧功能。

CREATE FUNCTION f_generate_password() RETURNS text AS $$
DECLARE
   password text;
   chars text;
BEGIN
   password := '';
   chars := 
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
   FOR i IN 1..8 LOOP
     password := password || SUBSTRING(chars, 
ceil(random()*LENGTH(chars))::integer, 1);
   END LOOP;
   return password;
END;
$$
LANGUAGE plpgsql;

2 个答案:

答案 0 :(得分:0)

如果你想知道一个算法......我不知道PostgreSQL的语法/方言,但你可以这样说:

1)选择3个随机位置(1到8)并在其中放置3个随机小写字母
2)选择3个随机位置(从其余位置)并在其中放置3个随机大写字母
3)在剩余的两个位置放置2个随机数字。

答案 1 :(得分:0)

以下是针对相同或类似问题的解决方案:)

pd.to_datetime(df.Datum, format='%Y%m%d')