Пакет 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 пытается добиться, не публикуя этот пакет. Я не вижу никакого вреда, который вы можете сделать, используя его.