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;
/


반응형

'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
Posted by seongsland