Problème DBMS_CRYPTO.decrypt : [1]: ORA-06512: at "SYS.DBMS_CRYPTO", line 44
Bonjour,
Voci le code que j'utilise :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
DECLARE
vs_encrypt VARCHAR2(1000)
:= '60livre9ULunHQBjsd43xRyRwg8AzIvN+ub4HfGqNS2ed+KA5RY+fabso8KqzIapmSodOq/3JqTz0I6EramjNZ4IleT304ddY+61cDluW8c=';
vr_result RAW(4000);
FUNCTION get_decrypt_val(p_in_val IN VARCHAR2, p_key IN VARCHAR2, p_iv IN VARCHAR2 := NULL)
RETURN VARCHAR2 IS
l_enc_val RAW(4000);
l_enc_algo PLS_INTEGER;
l_in RAW(4000);
l_iv RAW(4000);
l_key RAW(16);
l_ret VARCHAR2(4000);
BEGIN
l_in := UTL_I18N.string_to_raw(p_in_val, 'AL32UTF8');
l_iv := UTL_I18N.string_to_raw(p_iv, 'AL32UTF8');
l_key := UTL_I18N.string_to_raw(p_key, 'AL32UTF8');
l_enc_algo := DBMS_CRYPTO.encrypt_aes128;
l_enc_val := DBMS_CRYPTO.decrypt(
src => l_in
,typ => l_enc_algo + DBMS_CRYPTO.chain_cbc + DBMS_CRYPTO.pad_pkcs5
,key => l_key
,iv => l_iv);
RETURN ' ';
END;
BEGIN
vr_result := get_decrypt_val(vs_encrypt, RPAD('nl123ppppp', 16, CHR('06')));
END; |
Je reçois l'erreur :
line 1: ORA-28817: PL/SQL function returned an error.
ORA-06512: at "SYS.DBMS_CRYPTO_FFI", line 67
ORA-06512: at "SYS.DBMS_CRYPTO", line 44
ORA-06512: at line 19
ORA-06512: at line 27
Quelqu'un a-t-il une idée géniale pour me sortir de ce problème ?