Db/Oracle
Oracle 암/복호화 Package Function Sample(dbms_obfuscation_toolkit)
seongsland
2010. 4. 6. 23:53
CREATE OR REPLACE PACKAGE Crypt AS
FUNCTION enc( str VARCHAR2,
passwd VARCHAR2 ) RETURN VARCHAR2;
FUNCTION DEC( str VARCHAR2,
passwd VARCHAR2 ) RETURN VARCHAR2;
END Crypt;
/
CREATE OR REPLACE PACKAGE BODY Crypt AS
crypted_string VARCHAR2(2000);
FUNCTION enc( str VARCHAR2,
passwd VARCHAR2 ) RETURN VARCHAR2 AS
pieces_of_eight INTEGER := ((FLOOR(LENGTH(Str)/8 + .9)) * 8);
BEGIN
dbms_obfuscation_toolkit.DESEncrypt(
input_string => RPAD( str, pieces_of_eight ),
key_string => RPAD(passwd,8,'#'),
encrypted_string => crypted_string );
RETURN crypted_string;
END;
FUNCTION DEC( str VARCHAR2,
passwd VARCHAR2 ) RETURN VARCHAR2 AS
BEGIN
dbms_obfuscation_toolkit.DESDecrypt(
input_string => str,
key_string => RPAD(passwd,8,'#'),
decrypted_string => crypted_string );
RETURN trim(crypted_string);
END;
END Crypt;
/
FUNCTION enc( str VARCHAR2,
passwd VARCHAR2 ) RETURN VARCHAR2;
FUNCTION DEC( str VARCHAR2,
passwd VARCHAR2 ) RETURN VARCHAR2;
END Crypt;
/
CREATE OR REPLACE PACKAGE BODY Crypt AS
crypted_string VARCHAR2(2000);
FUNCTION enc( str VARCHAR2,
passwd VARCHAR2 ) RETURN VARCHAR2 AS
pieces_of_eight INTEGER := ((FLOOR(LENGTH(Str)/8 + .9)) * 8);
BEGIN
dbms_obfuscation_toolkit.DESEncrypt(
input_string => RPAD( str, pieces_of_eight ),
key_string => RPAD(passwd,8,'#'),
encrypted_string => crypted_string );
RETURN crypted_string;
END;
FUNCTION DEC( str VARCHAR2,
passwd VARCHAR2 ) RETURN VARCHAR2 AS
BEGIN
dbms_obfuscation_toolkit.DESDecrypt(
input_string => str,
key_string => RPAD(passwd,8,'#'),
decrypted_string => crypted_string );
RETURN trim(crypted_string);
END;
END Crypt;
/