oracle 에서 처리 되는 암호화 복호화 처리 과정을 살펴 볼 예정 이다.
원래 하고 싶었던 내용은
java에서 암호화된 데이터를 조회하여 oracle에서 복호화 처리를 하는 내용인데
결과는 나오지만 원하는 결과물이 아니다.
JAVA에서 암호화된 데이터가 어떤 형식의 암호화 처리로 되어 있는지 구분하여
plsql에서 구분 값을 알어내 복호화 하는 형식을 처리 하려고 하였지만
끝내 해결 하지 못했다.
JAVA에서 BASE64로 암호화된 파일은
UTL_ENCODE.TEXT_DECODE
를 사용하여 복호화를 처리 할 수 있다.
이미 Java로 암호화 처리된 데이터를 조회하여 처리해주는 것이 좋은데
보안상
그렇게 하지 않고 Java의 Base64와 같이 암호화되는 예제를 적용하여 첨부한다.
이밖의 PLSSQL에서 사용하는 암호화/복호화를 설명하려고 한다.
기본적인 AES128 / AES256 의 암호화 복호화 처리 방식이다.
참고로 AES128 -> 암호화 -> AES256 -> 복호화
이런 형태로 처리하는 이는 없을거지만 하려고 하지 말아라. 되지 않는다.
사진과 같이 128/256의 KEY생성에 차이가 존재하기
암호화/복호화는 같은 형태로 처리를 해야한다.
-참고-
첨부 사진과 같이 키 길이가너무 짧은 이라는 것은
암호화/복화화에서 처리하는 typ과 key의 형식이 불일치하면 발생한다.
AES256 = 32byte의 key로 생성해야 되고
AES128 = 16byte의 key 로 새성해야 된다.
'IT > oracle&mysql' 카테고리의 다른 글
ORACLE 계층형 데이터 SYS_CONNECT_BY_PATH (0) | 2016.03.23 |
---|---|
ORACLE 사용자 LOCK 및 로그인 패스워드 부여 (0) | 2016.03.23 |
전자정부 프레임워크 ibatis xml table comment 생성 (0) | 2016.03.21 |
외부조인(outer join) (0) | 2016.03.17 |
sql oracle with절 사용법 (0) | 2016.03.16 |