본문으로 건너뛰기
Case Converter Online
ko

MD5 해시 생성기

텍스트나 파일의 MD5 해시를 SHA-1, SHA-256, SHA-512와 함께 만듭니다. 알려진 체크섬을 붙여넣어 다운로드한 파일이 손상되지 않았는지 확인할 수 있습니다.

해시 대상

텍스트는 입력한 그대로 UTF-8로 해시됩니다. 끝에 공백이나 줄바꿈이 하나만 붙어도 해시가 바뀝니다.

해시 결과

  • MD5
     
  • SHA-1
     
  • SHA-256
     
  • SHA-512
     

체크섬을 붙여넣어 다운로드한 파일이나 사본을 확인하세요.

MD5는 체크섬과 변경된 파일 찾기에는 괜찮습니다. 하지만 일부러 충돌을 만들 수 있으므로 비밀번호나 서명에는 안전하지 않습니다. 보안이 필요하면 SHA-256 이상을 쓰세요.

MD5 해시란

MD5는 해시 함수입니다. 글자 하나부터 큰 파일까지 어떤 입력이든 받아 128비트 크기의 고정된 지문을 만들며, 보통 16진수 32자로 씁니다. 같은 입력은 언제나 같은 해시를 냅니다. 한 글자만 바뀌어도 해시는 완전히 달라집니다. MD5 해시 생성기는 이 값을 바로 계산해 줍니다.

MD5는 1992년 Ron Rivest가 발표했습니다. 지금도 다운로드 페이지의 체크섬, 중복 파일 찾기, 캐시 키, 간단한 변경 감지에 널리 쓰입니다. 다만 더 이상 안전하다고 보지 않으며, 그 이유는 아래에서 설명합니다.

MD5 생성기 사용 방법

텍스트 해시. 해시 대상에서 텍스트를 선택한 상태로 입력란에 입력하거나 붙여넣습니다. 입력하는 동안 해시가 바뀝니다. 텍스트는 입력한 그대로, 공백과 줄바꿈까지 포함해 UTF-8로 해시됩니다.

파일 해시. 파일을 누르고 500MB 이하의 파일을 고릅니다. 파일은 기기 안에서 읽습니다. 해시가 준비되면 파일 이름과 바이트 단위 크기가 표시됩니다.

결과 읽기. 해시 결과 패널에 네 가지 값이 나옵니다.

  • MD5: 강조 표시, 16진수 32자
  • SHA-1: 40자
  • SHA-256: 64자
  • SHA-512: 128자

각 값마다 복사 버튼이 있습니다. 대문자가 필요하면 대문자를 누르세요.

알려진 해시와 비교. 다운로드 페이지의 체크섬을 이 칸에 붙여넣습니다. 도구가 네 가지 결과와 모두 비교해 어느 것과 일치하는지 알려 줍니다. 일치하는 값이 없으면 붙여넣은 해시의 길이로 어떤 알고리즘의 값으로 보이는지 알려 줍니다.

MD5의 작동 원리

MD5는 입력을 512비트의 배수가 되도록 채운 다음 블록 단위로 처리합니다. 각 블록은 덧셈, 회전, 논리 연산을 섞는 64라운드의 비트 혼합을 거칩니다. 마지막에 남는 32비트 워드 네 개가 해시입니다. 이렇게 많이 섞기 때문에 결과는 무작위처럼 보이고, 입력 비트가 하나만 바뀌어도 완전히 달라집니다. 이를 눈사태 효과라고 합니다.

예시

입력 MD5
(빈 값) d41d8cd98f00b204e9800998ecf8427e
abc 900150983cd24fb0d6963f7d28e17f72
hello 5d41402abc4b2a76b9719d911017c592
Hello 8b1a9953c4611296a827abf8c47804d7
Hello, World! 65a8e27d8879283831b664bd8b7f0ad4
The quick brown fox jumps over the lazy dog 9e107d9d372bb6826bd81d3542a419d6
The quick brown fox jumps over the lazy dog. e4d909c290d0fb1ca068ffaddf22cbd0
한글 52b8c54ab4ea672ee6cdfdfef0a31db4

The quick brown fox로 시작하는 두 줄은 마침표 하나 차이인데도 해시가 전혀 닮지 않았습니다.

한글의 MD5는 UTF-8 바이트 ED 95 9C EA B8 80, 6바이트를 해시한 값입니다. 한글 한 글자는 UTF-8로 3바이트입니다. 같은 단어를 EUC-KR(CP949)로 저장한 파일은 바이트가 다르므로 MD5도 다르게 나옵니다.

같은 입력 abc를 다른 알고리즘으로 해시한 결과입니다.

알고리즘 abc의 해시
SHA-1 a9993e364706816aba3e25717850c26c9cd0d89d
SHA-256 ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

보안: MD5를 써도 되는 곳과 안 되는 곳

괜찮은 용도: 파일이 손상 없이 도착했는지 확인하기, 중복 파일 찾기, 캐시 키 만들기, 보안과 무관한 ID.

안 되는 용도: 비밀번호, 전자 서명, 인증서, 누군가 속이려고 파일을 바꾸지 않았다는 증명. MD5에 대한 실제 충돌 공격은 2004년부터 공개되어 있습니다. 공격자는 MD5가 같은 서로 다른 파일 두 개를 만들 수 있습니다.

비밀번호에는 느린 해시가 필요합니다. SHA-256도 비밀번호에는 너무 빠릅니다. 추측 속도를 늦추도록 설계된 bcrypt, scrypt, Argon2를 쓰세요. 5f4dcc3b5aa765d61d8327deb882cf99(“password”라는 단어) 같은 단순 MD5 비밀번호 해시는 조회 사이트에서 즉시 알아냅니다.

다른 방법으로 MD5 해시 구하기

Linux. md5sum file.zip은 해시와 파일 이름을 출력합니다. 텍스트는 echo -n hello | md5sum으로 해시합니다. -n을 빼면 줄바꿈까지 해시됩니다.

macOS. md5 file.zip, 텍스트는 md5 -s hello를 씁니다.

Windows. 명령 프롬프트에서 certutil -hashfile file.zip MD5, PowerShell에서 Get-FileHash file.zip -Algorithm MD5를 씁니다.

Python. hashlib.md5(b'hello').hexdigest()는 5d41402abc4b2a76b9719d911017c592를 돌려줍니다.

Node.js. require('crypto').createHash('md5').update('hello').digest('hex')도 같은 값을 돌려줍니다.

관련 도구

해시가 아니라 비밀번호가 필요하다면 비밀번호 생성기를 쓰세요. 고유 ID가 필요할 때는 무작위 데이터를 해시하는 것보다 UUID 생성기가 더 알맞습니다. 바이너리 데이터를 텍스트로 인코딩하려면 Base64 인코딩 디코딩을 참고하세요.

MD5 생성기 자주 묻는 질문

MD5 해시를 복호화할 수 있나요?

아니요. 해시는 한 방향으로만 만드는 지문이지 암호화가 아니므로 복호화할 대상이 없습니다. MD5를 되돌린다고 하는 사이트는 흔한 단어와 유출된 비밀번호의 해시를 모아 둔 거대한 목록에서 찾아볼 뿐입니다. 바로 그 이유로 비밀번호 저장에 MD5를 쓰면 안 됩니다.

MD5는 써도 안전한가요?

파일이 손상 없이 복사되거나 다운로드됐는지 확인하는 데는 괜찮습니다. 공격자가 노릴 만한 용도에는 안 됩니다. 연구자들은 MD5가 같은 서로 다른 파일 두 개를 만들 수 있고, 단순한 MD5 비밀번호 해시는 매우 빨리 뚫립니다. 중요한 무결성 확인에는 SHA-256을, 비밀번호에는 bcrypt, scrypt, Argon2 같은 느린 비밀번호 해시를 쓰세요.

다른 도구와 MD5 값이 다른 이유는 무엇인가요?

입력이 아주 조금만 달라도 해시는 완전히 바뀝니다. 흔한 원인은 끝에 붙은 공백이나 줄바꿈, 대소문자 차이, 다른 인코딩으로 저장된 텍스트입니다. hello의 MD5는 5d41402abc4b2a76b9719d911017c592이지만, 뒤에 공백 하나를 붙인 hello는 f814893777bcc2295fff05f00e508da6입니다. 한글은 UTF-8과 EUC-KR의 바이트가 달라서 인코딩이 다르면 해시도 달라집니다.

다운로드한 파일은 어떻게 검증하나요?

해시 대상에서 파일을 고르고 다운로드한 파일을 선택한 다음, 배포처가 공개한 체크섬을 알려진 해시와 비교 칸에 붙여넣으세요. 파일의 MD5, SHA-1, SHA-256, SHA-512 중 어느 것과 일치하는지 알려 줍니다.

파일이 업로드되나요?

아니요. 텍스트와 파일은 브라우저 안에서 해시됩니다. MD5는 JavaScript 라이브러리로, SHA 해시는 브라우저에 내장된 Web Crypto API로 계산합니다.

코드와 데이터 도구 더 보기

전체 도구 보기