본문 바로가기

IT/oracle&mysql

oracle java에서 암호화된 파일 oracle에서 복호화 처리

SMALL

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 로 새성해야 된다.







LIST