프로젝트를 진행하다보니, EMAIL에 대한 암호화가 필요해진김에 정리해봤다.
주로, EMAIL은 BASE64로 인코딩하여 보낸다.
<개요라고 쓰고 잡담>
돌이켜보면 받았던 메일들에 BASE64방식으로 온 데이터들이 어렴풋이 생각난다.
BASE 64란 말그대로 64진법, 2^6인 것을 말한다.
오라클에서는 내장 프로시저로서 지원을 한다.
끝내준다. 오라클의 자부심이랄까, 이런 것들을 프로시저로 지원한다니.
사실 내장 함수보다 내장 프로시저를 더 많이 쓰는 것 같다.
간단한 알고리즘이라 링크주소같을 걸로 값이 들어갈 때 많이 쓴다.
복호화가 쉬우니 진짜 암호로 쓰면 흠좀무
자세한 정보는 오라클 다큐멘터리를 참고
BASE64 인코딩, 디코딩 된 내용을 빠르게 보려면 여기서 보시지요.
참고로, 700만건 정도 돌리는데 2분 조금 더 나왔으니, 성능에 큰 영향을 미치는 건 아닌듯함.
<BASE64 인코딩 방법>
- 프로시져 인자값: SYS.UTL_ENCODE.TEXT_ENCODE(대상값, 캐릭터셋, 인코딩방법)
- 사용예제:
SELECT SYS.UTL_ENCODE.TEXT_ENCODE('TEST@EMAIL.CO.KR', 'KO16KSC5601', 1) AS ENCODED_VAL FROM DUAL;
-> 값: bmVvZ2FieUBoYW5tYWlsLm5ldA==
- SYS. 은 있어도 되고 없어도 되고.
<BASE64 디코딩 방법>
- 프로시져 인자값: SYS.UTL_ENCODE.TEXT_DECODE(대상값, 캐릭터셋, 인코딩방법)
- 사용예제:
SELECT SYS.UTL_ENCODE.TEXT_DECODE('VEVTVEBFTUFJTC5DTy5LUg==', 'KO16KSC5601', 1) AS ENCODED_VAL FROM DUAL;
-> 값: TEST@EMAIL.CO.KR
'DB > 오라클' 카테고리의 다른 글
[PL/SQL] 파일 쓰기 (0) | 2015.01.06 |
---|---|
[오라클] COMMIT 복구 (0) | 2014.12.29 |
[오라클] 각 컬럼 별 최고 값, 최저 값 MAX-MIN OVER (0) | 2014.11.21 |
[오라클] 분석 함수 (1) | 2014.11.21 |
[오라클][PLSQL] 테이블과 초기화 (0) | 2014.11.07 |
WRITTEN BY