MD5 생성기

MD5는 텍스트, 파일, 스트림 등 모든 입력에 대해 128비트(16진수 32자)의 다이제스트를 생성합니다. 2004년에 암호학적 용도로는 이미 깨졌지만, 패키지 다운로드 검증, 중복 제거를 위한 지문 생성, 일부 환경에서의 git blob 이름 지정처럼 빠른 무결성 확인의 표준으로 여전히 쓰입니다. 텍스트를 붙여넣거나 파일을 끌어다 놓기만 하면, 아무것도 업로드하지 않고 로컬에서 16진수 다이제스트를 돌려줍니다.

MD5 해시를 생성하는 방법

  1. 1

    입력 선택

    임의의 문자열을 넣는 텍스트 상자, 또는 약 2GB까지의 모든 크기를 지원하는 파일 선택기.

  2. 2

    도구가 로컬에서 MD5를 계산

    파일은 청크 단위로 스트리밍되므로 대용량 파일도 메모리를 과도하게 차지하지 않습니다.

  3. 3

    16진수 다이제스트 확인

    16진수 32자, MD5의 표준 표현 방식입니다.

  4. 4

    복사 또는 비교

    기대하는 해시(예: 패키지 작성자가 공개한 MD5)와 비교하거나, 기록용으로 복사하세요.

MD5란 무엇이며, 무엇이 아닌가

  • 결정론적. 동일한 입력은 항상 동일한 128비트 출력을 만듭니다.
  • 고정 길이. 입력 크기가 1바이트든 1기가바이트든 32자의 16진수 문자를 생성합니다.
  • 일방향성. MD5 다이제스트가 주어져도 이를 역산해 입력을 복원할 수 없습니다(레인보우 테이블이 존재하는 아주 작은 입력은 예외).
  • 암호학적 해시로서는 깨졌습니다. 충돌을 아주 쉽게 계산할 수 있습니다. 다음 용도에는 MD5를 절대 사용하지 마세요:
    • 비밀번호 저장(bcrypt, scrypt, Argon2 사용).
    • 디지털 서명(SHA-256 또는 SHA-3 사용).
    • TLS 인증서 서명(최신 브라우저에서 거부됨).
    • 공격자가 악용할 수 있는, 보안에 민감한 무결성 주장.

MD5가 여전히 괜찮은 경우

  • 비적대적 무결성 검사. 파일이 전송 중 손상되지 않았는지 확인합니다.
  • 중복 제거. 저장 시스템에서 동일한 데이터의 지문을 생성합니다.
  • 변경이 적은 정적 자산의 ETag 생성.
  • 캐시 키와 콘텐츠 주소 지정 해싱.

실습 예제

입력 텍스트 MD5 다이제스트
(빈 문자열) d41d8cd98f00b204e9800998ecf8427e
a 0cc175b9c0f1b6a831c399e269772661
abc 900150983cd24fb0d6963f7d28e17f72
The quick brown fox jumps over the lazy dog 9e107d9d372bb6826bd81d3542a419d6
The quick brown fox jumps over the lazy dog. (마지막 마침표) e4d909c290d0fb1ca068ffaddf22cbd0

문자 하나(마지막 마침표)가 다이제스트를 완전히 바꾸는 방식에 주목하세요, 이것이 바로 ‘눈사태 효과’입니다.

MD5와 SHA 계열 비교

함수 출력 크기 충돌로 깨졌는가 오늘날의 대표적 용도
MD5 128비트 예 (2004년) 무결성, 중복 제거, ETag
SHA-1 160비트 예 (2017년) 레거시; 새 작업에는 피할 것
SHA-256 256비트 아니요 TLS, 커밋, 일반 암호화
SHA-3 224~512비트 아니요 SHA-2의 현대적 대안
BLAKE3 256비트 아니요 빠른 SHA-2 대체

자주 묻는 질문

아니요. MD5는 최신 GPU에서 무차별 대입으로 쉽게 뚫리며 2004년에 이미 깨졌습니다. 대신 Argon2, scrypt, bcrypt 같은 비밀번호 전용 해시 함수를 사용하세요.

일반적인 무결성(다운로드가 완료됐는지)이라면 예. 적대적 무결성(누군가 파일을 악성 버전으로 바꿔치기했는지)이라면 아니요, 이때는 SHA-256을 사용하세요.

아니요. 해싱은 WebCrypto와 형식화 배열을 통해 브라우저에서 실행됩니다. 파일은 기기 밖으로 절대 나가지 않으며, 이는 비공개 데이터나 NDA로 보호되는 데이터를 해시할 때 특히 중요합니다.

최신 브라우저는 약 2GB의 스트리밍 입력을 무리 없이 처리합니다. 수십 GB에 달하는 아주 큰 파일은 md5sum이나 openssl dgst -md5 같은 CLI 도구로 해시하는 편이 낫습니다.

명세는 대소문자를 규정하지 않습니다. 대부분의 유닉스 도구는 소문자를, 일부 윈도우 도구는 대문자를 출력합니다. 비교할 때는 양쪽의 대소문자를 동일하게 맞추세요.

관련 도구

이 도구는 다른 언어로도 제공됩니다