DBMS_OBFUSCATION_TOOLKIT.des3decrypt : DBMS_OBFUSCATION_TOOLKIT « System Packages « Oracle PL / SQL






DBMS_OBFUSCATION_TOOLKIT.des3decrypt

  
SQL>
SQL> CREATE OR REPLACE FUNCTION get_dec_val (
  2     p_in_val   VARCHAR2,
  3     p_key      VARCHAR2,
  4     p_iv       VARCHAR2 := NULL,
  5     p_which    NUMBER := 0
  6  )
  7     RETURN VARCHAR2
  8  IS
  9     l_dec_val   VARCHAR2 (2000);
 10     l_iv        VARCHAR2 (2000);
 11  BEGIN
 12     IF p_which = 0
 13     THEN
 14        IF LENGTH (p_key) < 16
 15        THEN
 16           raise_application_error(-20001,'Key length less than 16 for two-pass scheme');
 17        END IF;
 18     ELSIF p_which = 1
 19     THEN
 20        IF LENGTH (p_key) < 24
 21        THEN raise_application_error(-20002,'Key length less than 24 for three-pass scheme');
 22        END IF;
 23     ELSE
 24        raise_application_error (-20003,'Incorrect value of which '|| p_which|| '; must be 0 or 1');
 25     END IF;
 26
 27     l_iv := RPAD (p_iv, (8 * ROUND (LENGTH (p_iv) / 8, 0) + 8));
 28     l_dec_val :=
 29        DBMS_OBFUSCATION_TOOLKIT.des3decrypt(input_string      => UTL_RAW.cast_to_varchar2(HEXTORAW (p_in_val)),key_string => p_key,iv_string => l_iv,which => p_which);
 30     RETURN RTRIM (l_dec_val);
 31  END;
 32  /


Function created.

SQL>

   
  








Related examples in the same category

1.DBMS_OBFUSCATION_TOOLKIT.des3getkey
2.DBMS_OBFUSCATION_TOOLKIT.des3encrypt
3.DBMS_OBFUSCATION_TOOLKIT.md5 and RAWTOHEX
4.dbms_obfuscation_toolkit.md5
5.Demonstrate DES3 encryption