MD5 암호화 적용시 궁금한 부분입니다. 0 2 2,150

by 신창우 [2007.10.04 16:11:55]


안녕하십니까..수고하십니다..

 

오라클의 DBMS_OBFUSCATION_TOOLKIT.MD5을 이용하여 MD5 암호화를 적용시켰습니다.
128bit 암호화이기에 byte로 환산하면 16 byte가 나오는게 맞지요..?
그런데 '123'은 15 byte, '1234'는 16 byte가 나오더군요..
혹시 이런 경우를 경험하시거나 원인을 알고계신분 계시나요..?
궁금하네요..ㅠㅠ

 

아래는 해당 Text를 MD5암호화 적용 후 dump로 출력한 결과입니다.

 

 '123'  --> Typ=1 Len=15: 44,185,98,172,89,7,91,150,75,7,21,45,35,75,112
'1234' --> Typ=1 Len=16: 129,220,155,219,82,208,77,194,0,54,219,216,49,62,208,85

by 지호준 [2007.10.04 00:00:00]
md5는 16byte로 계산되어지는 것이 맞으며 일반적으로 아래와 같이 사용됩니다. 신창우님께서 테스트에 15byte, 16byte로 나온 결과는 생성된 다이제스트 값에 따라 trim이 행해졌을 경우 그 byte수가 틀려진 경우인 것 같습니다.
declare
l_md varchar2(16);
begin
l_md := dbms_obfuscation_toolkit.md5(input_string => '123');
dbms_output.put_line(utl_raw.cast_to_raw(l_md));
dbms_output.put_line(length(trim(l_md)));
l_md := dbms_obfuscation_toolkit.md5(input_string => '1234');
dbms_output.put_line(utl_raw.cast_to_raw(l_md));
dbms_output.put_line(length(trim(l_md)));
end;

by 신창우 [2007.10.04 00:00:00]
지호준님..감사합니다..테스트 해보니 그렇더군요..
변환시 trim은 제외시켜야겠습니다..
다시 한 번 감사합니다..꾸벅..
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입