프로그래밍

oracle MD5 암호화

panpro 2009. 10. 23. 11:43

Oracle 9i부터 다양한 Encryption 표준 알고리듬들을 지원하는

  DBMS_OBFUSCATION_TOOLKIT

 이라는 패키지를 제공하고 있습니다.


MD5는 물론이고, DES, AES등 많이 쓰이는 표준 Encyption을 지원합니다.

MD5라면

  DBMS_OBFUSCATION_TOOLKIT.MD5(input, checksum);

Procedure를 이용하시면 됩니다.

자세한 사항은

   Data Encryption Using DBMS_OBFUSCATION_TOOLKIT

를 참조하세요.

 

------------------------------------------------------------------

DBMS_OBFUSCATION_TOOLKIT.MD5의 사용예는 다음과 같습니다.

 

DECLARE

  PLAIN_PASSWORD       VARCHAR2(20) := 'SAMLPLE';

  SECURE_PASSWORD   VARCHAR2(32);

BEGIN

  SECURE_PASSWORD  := DBMS_OBFUSCATION_TOOLKIT.MD5(input_string=> PLAIN_PASSWORD);

END;

 

PL/SQL이나 Stored Procedure/Function에서는 위와 같이 사용하시면 됩니다.

여기서 주의하실점은, DBMS_OBFUSCATION_TOOLKIT에 MD5함수 정의가

overload되어있어서(RAW입력과 VARCHAR2입력에 대한 함수 2개가 정의) 그냥

 

  SECURE_PASSWORD  := DBMS_OBFUSCATION_TOOLKIT.MD5(PLAIN_PASSWORD);

 

이렇게 호출하면 오류가 난다는 겁니다. 반드시 parameter명 (VARCHAR2입력의 경우input_string)을 명시해야 원하는 함수를 호출할 수 있습니다.


출처 : 네이버 지식인. http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10110&docid=1225492&qb=b3JhY2xlIGNoZWNrc3Vt&enc=utf8&section=kin&rank=1&sort=0&spq=0&pid=fXZUQv331y8ssv5U5bRssv--138580&sid=SuEWOpDk4EoAAGtxdZI