Hi All,
I was trying to encrypt some values and then decrypt the same but I am facing the error:
ORA-06502: PL/SQL: numeric or value error: hex to raw conversion error
My Test case is as following:
drop table t1 purge;
create table t1(
v1 varchar2(20)
, p1 varchar2(2000)
);
drop function encrypt_pass;
create or replace function encrypt_pass (p_text in varchar2) return varchar2 is
l_text varchar2(32767);
l_encrypted varchar2(32767);
l_key varchar2(20) := 'SecretKey';
begin
l_text := rpad(p_text, (trunc(length(p_text)/8)+1)*8, '~');
dbms_obfuscation_toolkit.desencrypt(
input => l_text
,key => l_key
,encrypted_data => l_encrypted);
return l_encrypted;
end;
/
show err
drop function decrypt_pass;
create or replace function decrypt_pass (p_text in varchar2) return varchar2 is
l_decrypted varchar2(32767);
l_key varchar2(20) := 'secretkey';
begin
dbms_obfuscation_toolkit.desdecrypt(
input => p_text
,key => l_key
,decrypted_data => l_decrypted
);
return rtrim(l_decrypted, '~');
end;
/
show err
insert into t1 values ('AAAAAAAA', encrypt_pass('AAAAAAAA'));
insert into t1 values ('BBBBBBBB', encrypt_pass('BBBBBBBB'));
insert into t1 values ('CCCCCCCC', encrypt_pass('CCCCCCCC'));
commit;
here while inserting the rows i am getting the error as
insert into t1 values ('AAAAAAAA', encrypt_pass('AAAAAAAA'))
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: hex to raw conversion error
ORA-06512: at "JAGDEEP.ENCRYPT_PASS", line 7
insert into t1 values ('BBBBBBBB', encrypt_pass('BBBBBBBB'))
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: hex to raw conversion error
ORA-06512: at "JAGDEEP.ENCRYPT_PASS", line 7
insert into t1 values ('CCCCCCCC', encrypt_pass('CCCCCCCC'))
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: hex to raw conversion error
ORA-06512: at "JAGDEEP.ENCRYPT_PASS", line 7
Can somebody tell me what i am doing wrong and give me a direction to go ahead
My version details are:
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
On Linux
Regards