Май 062011
 

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

SELECT username, password 
FROM dba_users 
WHERE username = 'CUBE';

Запрос вернёт нам значение хэша, к примеру, C65A7C30963BD127.
Запишем это число на бумажке и сменим пароль:

ALTER USER cube IDENTIFIED BY hi;

Запросом выше проверим, что пароль сменился. Теперь хэш равен B2B7C21E40EC18F6.
Сделав то, что хотели, вернём неизвестный нам пароль нашему подопытному пользователю:

ALTER USER cube IDENTIFIED BY VALUES 'C65A7C30963BD127';

Всё. Никто ничего не заметил.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">

(обязательно)

(обязательно)