간단하게 DB 암호화 함수 만들기
👤 김선호
🕒 2025-10-30 10:41
조회수 474
설명
이 함수는 Base64로 인코딩하고, 복호화 하는 함수 입니다.
운영 서버에 DB암호화 기능이 있을 때 로컬에는 제공을 안해주니 불편하실 때 참고하셔서 사용하시면 좋을 것 같아 공유 합니다.
인코딩 함수 만들기
p_input VARCHAR2, -- Base64 문자열로 인코딩
p_dummy NUMBER DEFAULT 101 -- 의미 없는 파라미터, 인터페이스 유지용
) RETURN VARCHAR2
IS
BEGIN
RETURN UTL_ENCODE.TEXT_ENCODE(p_input, 'UTF8', UTL_ENCODE.BASE64);
END;
디코딩 함수 만들기
CREATE OR REPLACE FUNCTION pls_decrypt_b64_id (
p_input VARCHAR2,
p_dummy NUMBER DEFAULT 101 -- 의미 없는 파라미터, 인터페이스 유지용
) RETURN VARCHAR2
IS
l_raw RAW(32767);
BEGIN
-- Base64 decode(문자셋 변환 없이 처리)
l_raw := UTL_ENCODE.BASE64_DECODE(UTL_RAW.CAST_TO_RAW(p_input));
-- RAW -> VARCHAR2
RETURN UTL_I18N.RAW_TO_CHAR(l_raw, 'UTF8');
END;
함수 생성 시 잘 생성 되었는지 확인 하기
SELECT object_name, object_type, status
FROM all_objects
WHERE object_name = UPPER(’함수명');
함수 삭제
DROP FUNCTION 함수명;
ERROR 확인
SELECT *
FROM USER_ERRORS
WHERE NAME = UPPER('함수명')
AND TYPE = 'FUNCTION';
인코딩 예시
SELECT pls_encrypt_b64_id('123123', 101) FROM dual;
디코딩 예시
SELECT pls_decrypt_b64_id('MTIzMTIz', 101) FROM dual;
💬 댓글 0
아직 댓글이 없습니다. 첫 댓글을 남겨보세요!
댓글을 작성하려면 로그인해주세요.