DECLARE Y VARCHAR2(60); Z VARCHAR2(60); BEGIN SELECT X INTO Y FROM X; DBMS_OBFUSCATION_TOOLKIT.DESENCRYPT(INPUT_STRING => Y, -- Multiplo de 8 KEY_STRING => '12345678',-- 8 bytes ENCRYPTED_STRING => Z); UPDATE X SET X=Z; Commit; END; DECLARE Y VARCHAR2(60); Z VARCHAR2(60); BEGIN SELECT X INTO Y FROM X; DBMS_OBFUSCATION_TOOLKIT.DESdecrypt(INPUT_STRING => Y, KEY_STRING => '12345678', DECRYPTED_STRING => Z); UPDATE X SET X=Z; commit; END; DECLARE Y VARCHAR2(60):='jkjkoppoiuiuytty'; Z VARCHAR2(60); BEGIN DBMS_OBFUSCATION_TOOLKIT.DESENCRYPT(INPUT_STRING => Y, -- Multiplo de 8 KEY_STRING => '12345678',-- 8 bytes ENCRYPTED_STRING => Z); END; create or replace Function Encrypt(xData in varchar2, xKey in varchar2) return varchar2 is yData varchar2(256); zData varchar2(256); xFill varchar2(256):=null; xLargo number(3):=length(xData); BEGIN if Mod(xLargo,8)!=0 then DBMS_OBFUSCATION_TOOLKIT.DESENCRYPT(INPUT_STRING => lpad(' ',8) , KEY_STRING => xKey, ENCRYPTED_STRING => xFill); xFill:=substr(xFill, 1, 8-mod(xlargo,8)); end if; DBMS_OBFUSCATION_TOOLKIT.DESENCRYPT(INPUT_STRING => xData||xFill, KEY_STRING => xKey, ENCRYPTED_STRING => yData); DBMS_OBFUSCATION_TOOLKIT.DESENCRYPT(INPUT_STRING => '12345678', KEY_STRING => 'abcdefgh', ENCRYPTED_STRING => XFill); DBMS_OBFUSCATION_TOOLKIT.DESENCRYPT(INPUT_STRING => yData, KEY_STRING => xKey, ENCRYPTED_STRING => zData); return zData; END; / create or replace Function Decrypt(xData in varchar2, xKey in varchar2) return varchar2 is yData varchar2(256); zData varchar2(256); xFill varchar2(256):=null; xLargo number(3):=length(xData); BEGIN DBMS_OBFUSCATION_TOOLKIT.DESENCRYPT(INPUT_STRING => lpad(' ', 8), KEY_STRING => xKey, ENCRYPTED_STRING => xFill); DBMS_OBFUSCATION_TOOLKIT.DESDECRYPT(INPUT_STRING => xData, KEY_STRING => xKey, DECRYPTED_STRING => yData); DBMS_OBFUSCATION_TOOLKIT.DESDECRYPT(INPUT_STRING => yData, KEY_STRING => xKey, DECRYPTED_STRING => zData); For i in reverse 1..7 loop if substr(zData, xLargo-i+1, i)=Substr(XFill,1,i) then xLargo:=xLargo-i; exit; end if; end loop; return substr(zData, 1, xLargo); END; / DECLARE Y VARCHAR2(60); Z VARCHAR2(60); BEGIN SELECT X INTO Y FROM X; Z:=ENCRYPT(Y,'12345678'); UPDATE X SET X=Z; Commit; END; DECLARE Y VARCHAR2(60); Z VARCHAR2(60); BEGIN SELECT X INTO Y FROM X; Z:=DECRYPT(Y,'12345678'); UPDATE X SET X=Z; commit; END;