2012-04-27 4 views
0

dba_users.Password содержит хешированные пароли. Как проверить старый пароль перед сменой пароля? У меня есть приблизительное представление о двух методах:Проверка старого пароля при изменении пароля

(1) Найдите, что использует алгоритм хеширования и значение оракула, а затем беру хэш и хэши. Это оказывается очень сложным, поскольку алгоритм хеширования оракула и семена не являются общеизвестными.

(2) EXECUTE IMMEDIATE 'CONNECT' || p_UserName || '/' || p_OldPassword. Какие проблемы имеет этот подход? Как закрыть соединение после этого, или сделать это автоматически закрытым после завершения инструкции или процедуры? Может ли один и тот же пользователь войти в систему одновременно несколько раз в любом сценарии?

ответ

2

Команда ALTER USER имеет ключевое слово REPLACE, которое позволяет указать старый пароль.

Смежные вопросы