Создать функцию проверки пароля для 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;
Вышеуказанные функции работают нормально, но я не могу добавить проверки для прописных, строчных и специальных символов.
Если я добавлю строки в проверки для прописных, строчных и специальных символов, я смогу создать функцию, но при проверке пароля она не работает.