더북(TheBook)

⑨ DECRYPT 함수

암호화된 데이터를 매개변수로 받아 복호화 결과를 반환하는 함수다.

    DBMS_CRYPTO.DECRYPT(
         src IN RAW,
         typ IN PLS_INTEGER,
         key IN RAW,
         iv  IN RAW DEFAULT NULL)
         RETURN RAW;

src: 복호화 대상 데이터

typ: 복호화에 사용될 암호화 슈트

key: 암호화 키

iv: 초기화 벡터

암호화된 RAW 타입을 받아 복호화 한 후, 그 결과를 반환하는데 반환되는 데이터도 RAW 타입이다. 따라서 복호화 결과를 문자형으로 변환하려면 먼저 RAW 타입을 ‘AL32UTF8’ 문자셋의 VARCHAR2로 변환한 다음 다시 변환을 원하는 문자셋의 VARCHAR2 타입으로 변환하는 과정을 거쳐야 하며, 다음과 같이 UTL_I18N.RAW_TO_CHAR 함수를 사용해서 변환한다.

    UTL_I18N.RAW_TO_CHAR ('입력문자열', 'AL32UTF8');

복호화할 때 주의할 점은, DECRYPT 함수를 사용하여 복호화하려면 암호화 할 때 사용했던 키와 암호화 슈트가 일치해야만 제대로 복호화 될 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.