0

如何在 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;

上述函数工作正常,但我无法添加对大写、小写和特殊字符的检查。

如果我在检查大写、小写和特殊字符时添加行,我可以创建该函数,但是当密码检查出现时,它似乎不起作用。

4

0 回答 0