DataBase/Oracle

ORA-28232: obfuscation 툴킷에 부적합한 입력 길이입니다. 암호화 복호화 안될때...

조심이 2011. 4. 29. 14:44
반응형
오라클 암호화 복호화에서 셀렉트가 안될떄..

예))
SELECT * FROM USER_TABLE WHERE CRYPTIT.decrypt(PASS, 'MOMO') ='PASS'


=> 아래와 같은 에러메세지가 발생된다면..

ORA-28232: obfuscation 툴킷에 부적합한 입력 길이입니다.
ORA-06512: "SYS.DBMS_OBFUSCATION_TOOLKIT_FFI", 줄 40에서
ORA-06512: "SYS.DBMS_OBFUSCATION_TOOLKIT", 줄 153에서
ORA-06512:
"WLOWN.CRYPTIT", 줄 20에서

오라클 버전에 따른 문제 일수도 있다. 이럴떈
UPDATE USER_TABLE  SET=CRYPTIT.
encrypt(PASS,'MOMO') 로 업데이트..

만약 그래도 안되면 다른 'MOMO'가 아닌 다른 키값으로 등록된 데이터 또는 cryptit.encrypt() 를 사용하지 않고
들어간 데이터가 있을 경우가 많다.

쭉 살펴보고 요상한 문자로 안들어간 데이터를 살펴봐야 한다.

예를 들어 문자열이 =>>>   U7??뺃Ih?w #  이런식으로 들어가 있어야 하는데
'PASS1234' 이렇게 제대로 보인다면

select * from USER_TABLE  where PASS ='PASS1234'   쿼리를 날려서 문제없이 쿼리가 돌아간다면
요넘이 암호화 없이 들어간 놈이다.

UPDATE USER_TABLE  SET=CRYPTIT.encrypt(PASS,'MOMO') where PASS='PASS1234'  로 암호화 한다.

다른 키값으로 암호화 된 놈은 찾을 수 없다. 혹시 찾는 법을 안다면 댓글로 알려주세욤.
반응형