如何在 EDB PostgreSQL 中创建一个函数来检查密码?
密码应包含:
- 至少 1 个大写字母
- 至少 1 个小写字母
- 至少 1 位数
- 至少 8 个字符长
- 至少 1 个特殊字符
到目前为止,我搜索并得到了
CREATE OR REPLACE FUNCTION verify_password(user_name varchar2, new_password varchar2, old_password varchar2)
RETURN boolean IMMUTABLE
IS
BEGIN
IF (length(new_password) < 5)
THEN
raise_application_error(-20001, 'too short');
END IF;
IF substring(new_password FROM old_password) IS NOT NULL
THEN
raise_application_error(-20002, 'includes old password');
END IF;
RETURN true;
END;
上述函数工作正常,但我无法添加对大写、小写和特殊字符的检查。
如果我在检查大写、小写和特殊字符时添加行,我可以创建该函数,但是当密码检查出现时,它似乎不起作用。