PACKAGE dbms_obfuscation_toolkit AS
------------------------------- TYPES ------------------------------------
-- Types used to make it easier for the user to reserve the correct
-- amount of memory for a checksum.
SUBTYPE varchar2_checksum IS VARCHAR2(2000);
SUBTYPE raw_checksum IS RAW(2000);
---------------------- FUNCTIONS AND PROCEDURES ---------------------------
---------------------------- DATA ENCRYPTION ------------------------------
-- The following routines encrypt and decrypt data.
-- There are two versions of each procedure and function: one for raw data
-- and the other for strings.
---------------------------------------------------------------------------
-- DES
PROCEDURE DESEncrypt(input IN RAW,
key IN RAW,
encrypted_data OUT RAW);
FUNCTION DESEncrypt(input IN RAW,
key IN RAW)
RETURN RAW;
PROCEDURE DESEncrypt(input_string IN VARCHAR2,
key_string IN VARCHAR2,
encrypted_string OUT VARCHAR2);
FUNCTION DESEncrypt(input_string IN VARCHAR2,
key_string IN VARCHAR2)
RETURN VARCHAR2;
PROCEDURE DESDecrypt(input IN RAW,
key IN RAW,
decrypted_data OUT RAW);
FUNCTION DESDecrypt(input IN RAW,
key IN RAW)
RETURN RAW;
PROCEDURE DESDecrypt(input_string IN VARCHAR2,
key_string IN VARCHAR2,
decrypted_string OUT VARCHAR2);
FUNCTION DESDecrypt(input_string IN VARCHAR2,
key_string IN VARCHAR2)
RETURN VARCHAR2;
-- Triple DES
PROCEDURE DES3Encrypt(input IN RAW,
key IN RAW,
encrypted_data OUT RAW,
which IN PLS_INTEGER
DEFAULT TwoKeyMode);
FUNCTION DES3Encrypt(input IN RAW,
key IN RAW,
which IN PLS_INTEGER DEFAULT TwoKeyMode)
RETURN RAW;
PROCEDURE DES3Encrypt(input_string IN VARCHAR2,
key_string IN VARCHAR2,
encrypted_string OUT VARCHAR2,
which IN PLS_INTEGER
DEFAULT TwoKeyMode);
FUNCTION DES3Encrypt(input_string IN VARCHAR2,
key_string IN VARCHAR2,
which IN PLS_INTEGER DEFAULT TwoKeyMode)
RETURN VARCHAR2;
PROCEDURE DES3Decrypt(input IN RAW,
key IN RAW,
decrypted_data OUT RAW,
which IN PLS_INTEGER
DEFAULT TwoKeyMode);
FUNCTION DES3Decrypt(input IN RAW,
key IN RAW,
which IN PLS_INTEGER DEFAULT TwoKeyMode)
RETURN RAW;
PROCEDURE DES3Decrypt(input_string IN VARCHAR2,
key_string IN VARCHAR2,
decrypted_string OUT VARCHAR2,
which IN PLS_INTEGER
DEFAULT TwoKeyMode);
FUNCTION DES3Decrypt(input_string IN VARCHAR2,
key_string IN VARCHAR2,
which IN PLS_INTEGER DEFAULT TwoKeyMode)
RETURN VARCHAR2;
-------------------------------- MD5 --------------------------------------
-- The following routines generate MD5 hashes of data.
-- There are two versions: one for raw data and the other for strings.
---------------------------------------------------------------------------
PROCEDURE MD5(input IN RAW,
checksum OUT raw_checksum);
FUNCTION MD5(input IN RAW)
RETURN raw_checksum;
PROCEDURE MD5(input_string IN VARCHAR2,
checksum_string OUT varchar2_checksum);
FUNCTION MD5(input_string IN VARCHAR2)
RETURN varchar2_checksum;