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;
/
'Db > Oracle' 카테고리의 다른 글
Oracle Sequence Sample (2) | 2010.04.06 |
---|---|
Oracle Package Procedure Sample (2) | 2010.04.06 |
Oracle Job sample (3) | 2010.04.06 |
Oracle function sample (4) | 2010.04.06 |
Oracle 세로 데이터를 가로로 표현 (1) | 2010.04.06 |