일부 서비스에 대해 오라클 DB 버전을 9i에서 10g로 변경하면서, 암호화 패키지 CRYPTIT에서 일부 문제가 있었다.
9i에서 암호화된 테이블을 10g로 가져와서 다음과 같이 decrypt 를 쿼리하면 에러가 발생했다.
select CRYPTIT.decrypt(passwd, 'keyvalue) from user_tbl
ORA-28232: obfuscation 툴킷에 부적합한 입력 길이입니다.
ORA-06512: "SYS.DBMS_OBFUSCATION_TOOLKIT_FFI", 줄 40에서
ORA-06512: "SYS.DBMS_OBFUSCATION_TOOLKIT", 줄 153에서
ORA-06512: "WLOWN.CRYPTIT", 줄 20에서
처음에는 일부 데이터는 정상으로 조회되길래 무슨 문제인가 찾아봐도 뽀죡한 답변을 못찾았다.
좀 삽질하다가 9i와 10g의 sys user의 DBMS_OBFUSCATION_TOOLKIT의 함수내용이 틀린 것을 보고,
암호화 데이터를 다시 갱신해 줫다.
update user_tbl set passwd = CRYPTIT.encrypt(raw_pass, 'keyvalue')
그런후 다시 조회하니 잘 된다. 역시 오라클 버전이 틀려짐에 따라 암호화 내용이 달라진 거 같다.
9i에서 암호화된 테이블을 10g로 가져와서 다음과 같이 decrypt 를 쿼리하면 에러가 발생했다.
select CRYPTIT.decrypt(passwd, 'keyvalue) from user_tbl
ORA-28232: obfuscation 툴킷에 부적합한 입력 길이입니다.
ORA-06512: "SYS.DBMS_OBFUSCATION_TOOLKIT_FFI", 줄 40에서
ORA-06512: "SYS.DBMS_OBFUSCATION_TOOLKIT", 줄 153에서
ORA-06512: "WLOWN.CRYPTIT", 줄 20에서
처음에는 일부 데이터는 정상으로 조회되길래 무슨 문제인가 찾아봐도 뽀죡한 답변을 못찾았다.
좀 삽질하다가 9i와 10g의 sys user의 DBMS_OBFUSCATION_TOOLKIT의 함수내용이 틀린 것을 보고,
암호화 데이터를 다시 갱신해 줫다.
update user_tbl set passwd = CRYPTIT.encrypt(raw_pass, 'keyvalue')
그런후 다시 조회하니 잘 된다. 역시 오라클 버전이 틀려짐에 따라 암호화 내용이 달라진 거 같다.
반응형