webhacking.kr :: 4번 문제 [150]

Posted by ORANG ORANG(오랑)
2014.12.10 13:16 Web Hacking/webhacking.kr



주어진 문자열은 먼저 base64로 인코딩된 모습이라 디코딩 하고 나니

다음은 어떤 방식으로 해야할지 몰라 md5, sha1 등 모두 디코딩해보았다.

 // md5, sha1 등 hash는 단방향 암호화 알고리즘이므로 디코딩이 불가능하다.

 // 온라인 디코딩 사이트는 대부분 인코딩할때의 hash값과 원본문자열을 DB에 저장해놓고 출력해주는 방식이다.

온라인 디코딩 사이트를 통해 원래의 값을 찾아냈다. (sha1으로 hash값이 2번 생성됨)


#### 추가 내용 ####

base64로 인코딩할 경우, 패딩이 붙을때 마지막은 ==이 된다.

해시 알고리즘의 경우, 가변 길이의 문자열을 받아 고정된 길이의 암호화된 해쉬값을 가지는 특징이 있다.

md5는 32글자    (128bit)

sha0, sha1는 40글자    (160bit)

sha224는 56글자    (224bit)

sha256는 64글자    (256bit)

sha384는 96글자    (284bit)

sha512는 128글자    (512bit)










  1. 님 질문이 있어요
    md5는 32글자 (128bit)
    sha0, sha1는 40글자 (160bit)
    sha224는 56글자 (224bit)
    sha256는 64글자 (256bit)
    sha384는 96글자 (284bit)
    sha512는 128글자 (512bit)

    128비트면... 바이트로 고치면 16바이트니까 16글자 아닌가요???
    256비트면 32바이트고 32글자...아닌가요?
    헷갈리네요..ㅋ 님이 맞나요???ㅋ
      • hong8yung
      • 2017.01.06 05:12 신고
      아스키 코드 기준 글자 1바이트가 아닌
      16비트(0~F) 글자 기준인것 같아요.
이 댓글을 비밀 댓글로