Создать функцию проверки пароля для Enterprise PostgreSQL

Как создать в 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;

Вышеуказанные функции работают нормально, но я не могу добавить проверки для прописных, строчных и специальных символов.

Если я добавлю строки в проверки для прописных, строчных и специальных символов, я смогу создать функцию, но при проверке пароля она не работает.

0 ответов

Другие вопросы по тегам