by 손님 [Oracle 에러코드] DBMS_CRYPTO 암호화 [2011.02.21 15:36:41]
안녕하세요? 오라클 초보 입니다.
알고나면 간단한 문제 같은데 감을 못 잡겠네요.
도와주세요. ㅜ.ㅜ
개발서버를 새로 구성하느라 운영 오라클을 그대로 가져왔습니다.
데이터는 잘 나오는데 암호화 관련 사용자 함수가 컴파일이 안 되네요.
http://www.gurubee.net/lecture/1200 여기를 참고했고요.
사용자 함수 내용은 아래와 같고, 오류메세지도 밑에 적었습니다.
CREATE OR REPLACE FUNCTION USER.ENC_VALUE(planText IN VARCHAR2, PASSWORD IN VARCHAR := 'aaaaaaaa')
RETURN VARCHAR2
IS
ENCRYPTED RAW(200);
KEY_BYTE RAW(32);
CRYPTION_TYPE PLS_INTEGER := DBMS_CRYPTO.ENCRYPT_RC4
+ DBMS_CRYPTO.CHAIN_ECB
+ DBMS_CRYPTO.PAD_PKCS5;
BEGIN
KEY_BYTE := UTL_I18N.STRING_TO_RAW(PASSWORD);
ENCRYPTED := DBMS_CRYPTO.ENCRYPT
(
src => UTL_I18N.STRING_TO_RAW(planText, 'AL32UTF8'),
typ => CRYPTION_TYPE,
key => KEY_BYTE
);
RETURN ENCRYPTED;
END;
오류는 다음과 같습니다.
PLS-00201: identifier 'DBMS_CRYPTO' must be declared,
PL/SQL: Item ignored,
PLS-00201: identifier 'DBMS_CRYPTO' must be declared,
PL/SQL: Statement ignored