#oracle #dbms-crypto
#Oracle #СУБД-криптография
Вопрос:
Я пытаюсь использовать DBMS_CRYPTO. Из СИСТЕМЫ напишите:
DECLARE
l_key VARCHAR2 (2000) := '1234567890123456';
l_in_val VARCHAR2 (2000) := 'Confidential Data';
l_mod NUMBER
:= DBMS_CRYPTO.encrypt_aes128
DBMS_CRYPTO.chain_cbc
DBMS_CRYPTO.pad_pkcs5;
l_enc RAW (2000);
BEGIN
l_enc :=
DBMS_CRYPTO.encrypt (utl_i18n.string_to_raw (l_in_val, 'AL32UTF8'),
l_mod,
utl_i18n.string_to_raw (l_key, 'AL32UTF8')
);
DBMS_OUTPUT.put_line ('Encrypted=' || l_enc);
END;
Ответ:
Error report -
ORA-06550: string 5, столбец 17:
PLS-00201: identifier 'DBMS_CRYPTO' must be declared
Посмотрите на select * from dba_objects where object_name = 'DBMS_CRYPTO';
ответ:
Я пытался создать пользователя и дать ему привилегированный grant execute on sys.dbms_crypto to VICE_SYS;
ответ:
Error starting at line : 1 in command -
grant execute on sys.dbms_crypto to VICE_SYS
Error report -
ORA-00942: table or view does not exist
00942. 00000 - "table or view does not exist"
*Cause:
Что мне делать?
Комментарии:
1. Похоже, что пакет DBMS_CRYPTO не существует в вашей системе, или вам не был предоставлен доступ к нему. Проконсультируйтесь с вашим администратором базы данных.
2. Вы запускали
GRANT EXECUTE
asSYS
?3. Я администратор базы данных, он находится на одном локальном компьютере. Как я могу установить пакет?
4. @TenG да, я сделал это из System
5. Попробуйте, как
SYS
нетSYSTEM
. Пакеты выглядят так, как будто они уже установлены, если они отображаются в DBA_OBJECTS.
Ответ №1:
SQL> grant execute on sys.dbms_crypto to testuser;
Grant succeeded.
SQL> connect testuser/testuser Connected. SQL> set serveroutput on
SQL> DECLARE
l_key VARCHAR2 (2000) := '1234567890123456';
l_in_val VARCHAR2 (2000) := 'Confidential Data';
l_mod NUMBER
:= DBMS_CRYPTO.encrypt_aes128
DBMS_CRYPTO.chain_cbc
DBMS_CRYPTO.pad_pkcs5;
l_enc RAW (2000);
BEGIN
l_enc :=
DBMS_CRYPTO.encrypt (utl_i18n.string_to_raw (l_in_val, 'AL32UTF8'),
l_mod,
utl_i18n.string_to_raw (l_key, 'AL32UTF8')
);
DBMS_OUTPUT.put_line ('Encrypted=' || l_enc); END; 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 /
Encrypted=32617FCF7AB54676BEBE201360DD2C83A07A34084D30A92A9FF1F6B774240A35