Этот оператор возвращает нуль вместо 64 случайных байт:DBMS_CRYPTO.RANDOMBYTES возвращает нуль
select DBMS_CRYPTO.RANDOMBYTES(64) from dual;
Что вызывает это вернуть нуль? База данных - это Oracle 10.1.0.2.0, работающая на Windows Server 2003, и я хочу использовать случайные байты как соль для хеширования паролей.
Edit: Вот выход из SQLPLUS:
Connected to:
Oracle Database 10g Release 10.1.0.2.0 - Production
SQL> select DBMS_CRYPTO.RANDOMBYTES(64) from dual;
DBMS_CRYPTO.RANDOMBYTES(64)
--------------------------------------------------------------------------------
SQL>
Edit2: При переходе на Oracle 11 запрос работает. Я понятия не имею, почему он не работает на Oracle 10, но решил не использовать эту старую базу данных.
какая ОС вы используете? – anudeepks
Работает на Windows Server 2003. – johanrex
Можете попробовать один раз у пользователя sys и посмотреть, сталкиваетесь ли вы с той же проблемой? – anudeepks