Пакет DBMS_CRYPTO отсутствует

Я использую Oracle Database 11g Enterprise Edition Release 11.2.00.40 - 64-разрядная версия. У нас есть начальный пользователь-администратор, который будет создан в базе данных путем вставки в таблицу во время установки. Это действие требует шифрования пароля с использованием протокола SH1. Согласно документации Oracle, я должен иметь возможность использовать пакет DBMS_CRYPTO, который поставляется с базой данных Enterprise Edition. Однако я не могу этого увидеть. Вместо DBMS_CRYPTO я вижу пакет DBMS_CRYPTO_TOOLKIT. Этот пакет не так хорошо документирован, но я смог обнаружить, что он поставляется с Oracle 12c, и это даже смутило меня больше.

Должен ли я установить пакет DBMS_CRYPTO дополнительно или использовать пакет DBMS_CRYPTO_TOOLKIT? Есть кто-нибудь, кто может объяснить, как зашифровать проход с пакетом DBMS_CRYPTO_TOOLKIT? У меня нет доступа SYS к базе данных, поэтому мне интересно, есть ли способ генерировать пароли SH1 без использования DBMS_CRYPTO, который достаточно прост? Другими словами стоит ли его устанавливать?

1 ответ

Решение

Документация Oracle гласит:

Модель безопасности

База данных Oracle устанавливает этот пакет в схеме SYS. Затем вы можете при необходимости предоставить доступ к пакету существующим пользователям и ролям.

Попросите системную администрацию предоставить доступ к ней:

GRANT EXECUTE ON SYS.DBMS_CRYPTO TO USERXY;

Или даже:

GRANT EXECUTE ON SYS.DBMS_CRYPTO TO PUBLIC;

Я не понимаю, чего Oracle пытается добиться, не публикуя этот пакет. Я не вижу никакого вреда, который вы можете сделать, используя его.

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