Skip to content

MD5 해시 생성기 · 파일 체크섬 도구

MD5, SHA-256, SHA-1, SHA-512 해시를 온라인에서 무료로 생성합니다. 브라우저에서 텍스트나 파일을 해싱하고 체크섬을 검증하며 결과를 복사할 수 있습니다.

트래킹 없음 브라우저 실행 무료
모든 해싱은 브라우저 내부에서 로컬로 수행됩니다. 어떤 데이터도 서버로 전송되지 않습니다.
알고리즘
RFC 테스트 벡터와 대조해 해시 알고리즘의 정확성을 검토했습니다 — Go Tools 엔지니어링 팀 · Mar 22, 2026

MD5 해시 생성기란 무엇인가요?

MD5(Message-Digest Algorithm 5)는 Ronald Rivest가 1991년에 설계한 128비트 암호 해시 함수(RFC 1321)로, 어떤 입력에서든 고정된 32자리 16진수 지문을 만들어 냅니다. 한때 디지털 서명과 인증서 검증에 널리 사용되었으나, 이제는 보안이 중요한 용도에서는 공식적으로 비권장이며 보안과 무관한 체크섬, 캐시 키, 데이터 중복 제거 등에는 여전히 흔하게 쓰입니다.

"MD5 must not be used for digital signatures... NIST is formally deprecating use of MD5." — NIST SP 800-131A

이 도구는 MD5와 함께 SHA-1(40자리 16진수), SHA-256(64자리 16진수), SHA-384(96자리 16진수), SHA-512(128자리 16진수)를 지원합니다. NIST는 2011년 보안 용도로의 MD5 사용을 비권장했습니다(NIST SP 800-131A). 보안이 중요한 용도에는 대신 SHA-256이나 SHA-512를 사용하십시오.

해시 함수는 단방향입니다. 입력으로부터 해시를 계산할 수는 있지만, 그 해시를 역으로 돌려 원본 데이터를 복원할 수는 없습니다. 이 특성 덕분에 해시 함수는 파일 무결성 검증, 체크섬 생성, 고유 식별자 생성에 유용합니다.

중요: MD5와 SHA-1은 암호적으로 깨졌으므로 비밀번호 해싱이나 디지털 서명 같은 보안 목적에는 사용해서는 안 됩니다. 비밀번호 저장에는 bcrypt, scrypt, Argon2를 사용하십시오.

모든 해싱은 SHA 계열에는 Web Crypto API를, MD5에는 순수 JavaScript 구현을 사용해 브라우저 내부에서 전적으로 실행됩니다. 데이터는 기기를 떠나지 않습니다. 브라우저의 네트워크 탭으로 직접 확인할 수 있습니다.

// Hash text using Web Crypto API (SHA-256)
async function sha256(text) {
  const data = new TextEncoder().encode(text);
  const hash = await crypto.subtle.digest('SHA-256', data);
  return Array.from(new Uint8Array(hash))
    .map(b => b.toString(16).padStart(2, '0'))
    .join('');
}

await sha256('Hello, World!');
// → 'dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f'

주요 기능

5가지 해시 알고리즘

MD5, SHA-1, SHA-256, SHA-384, SHA-512를 하나의 도구에서 지원합니다. 한 번의 클릭으로 알고리즘을 전환하고 출력을 즉시 비교할 수 있습니다.

텍스트 · 파일 해싱

어떤 텍스트 입력이든 해싱하거나 파일을 바로 업로드합니다. 끌어다 놓기도 지원합니다. 파일 무결성 검증과 체크섬 생성에 이상적입니다.

100% 브라우저 기반

모든 계산은 Web Crypto API를 사용해 로컬에서 실행됩니다. 서버로 전송되는 데이터가 없으므로 파일과 텍스트가 완전히 비공개로 유지됩니다.

즉시 결과

밀리초 단위로 해시 결과를 얻고 한 번의 클릭으로 클립보드로 복사합니다. 16진수 출력의 대문자와 소문자를 전환할 수 있습니다.

해시 알고리즘 비교

MD5

128비트 / 16진수 32자

가장 빠른 해시 알고리즘이지만 2004년부터 암호적으로 깨졌습니다. 보안과 무관한 체크섬, 캐시 키, 데이터 중복 제거에만 적합합니다. 비밀번호나 디지털 서명에는 사용하지 마십시오.

SHA-1

160비트 / 16진수 40자

암호적으로 손상되었습니다. Google이 2017년에 실전 충돌을 시연했습니다. 모든 주요 브라우저와 인증 기관이 비권장합니다. 레거시 시스템 호환용으로만 사용하십시오.

SHA-256

256비트 / 16진수 64자

안전한 해싱의 현재 업계 표준입니다. TLS 인증서, Bitcoin, 파일 무결성 검증에 사용됩니다. 암호 해시 함수가 필요한 대부분의 새 프로젝트에 권장됩니다.

SHA-512

512비트 / 16진수 128자

SHA-2 계열에서 가장 강력한 선택지입니다. 64비트 프로세서에서는 실제로 SHA-256보다 빠릅니다. 고보안 애플리케이션, SSH 키, TLS 1.3 같은 프로토콜에서 사용됩니다.

예시

빈 문자열의 MD5 해시

(빈 문자열)
d41d8cd98f00b204e9800998ecf8427e

MD5('') = d41d8cd98f00b204e9800998ecf8427e. 빈 입력의 MD5 해시는 테스트에 유용한 잘 알려진 상수입니다.

'Hello, World!'의 SHA-256

Hello, World!
dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f

SHA-256('Hello, World!') = dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f. SHA-256은 64자리 16진수 문자열을 만듭니다.

MD5 파일 체크섬

ubuntu-24.04-desktop-amd64.iso
(배포자의 체크섬과 비교)

파일 탭을 사용해 파일의 MD5 체크섬을 계산하십시오. 이 해시를 배포자가 제공한 체크섬과 비교하면 다운로드 중 파일이 변조되지 않았는지 확인할 수 있습니다.

사용 방법

  1. 1

    입력 모드 선택

    텍스트 콘텐츠를 해싱하려면 텍스트 탭을, 기기의 파일을 해싱하려면 파일 탭을 선택하십시오.

  2. 2

    데이터 입력

    텍스트 모드에서는 내용을 입력하거나 붙여넣습니다. 파일 모드에서는 파일을 끌어다 놓거나 업로드 영역을 클릭해 불러옵니다.

  3. 3

    알고리즘 선택

    MD5, SHA-1, SHA-256, SHA-384, SHA-512 중에서 선택하십시오. 기본값은 MD5입니다.

  4. 4

    생성 후 복사

    해시 생성을 클릭해 결과를 계산하십시오. 복사 버튼으로 해시를 복사하거나 대문자 토글로 대문자 16진수 출력을 얻으십시오.

흔한 오류

줄 바꿈 차이

운영체제마다 다른 줄 바꿈을 사용합니다. Unix/macOS는 LF(\n), Windows는 CRLF(\r\n)를 씁니다. 서로 다른 시스템에서 같은 텍스트를 복사하면 해시가 다를 수 있습니다.

✗ 오류
"Hello\r\nWorld" → 4a24aba0b89e5056...  (CRLF)
✓ 정상
"Hello\nWorld" → 68e109f0f40ca72a...  (LF — normalize first)

문자 인코딩 차이

같은 문자가 UTF-8과 Latin-1(ISO-8859-1)에서 다른 바이트 표현을 가질 수 있습니다. 텍스트가 같아 보여도 해시가 달라집니다.

✗ 오류
"café" (Latin-1, 4 bytes) → 5765dac89dc15ef4...
✓ 정상
"café" (UTF-8, 5 bytes) → 5c462401420cd614...  (always use UTF-8)

끝의 공백

복사-붙여넣기에서 묻어 온 끝부분의 보이지 않는 공백이나 줄 바꿈이 해시를 바꿀 수 있습니다. 해시를 비교할 때는 입력을 다듬거나 끝부분의 공백을 인지하십시오.

✗ 오류
"Hello " (trailing space) → d3ed7e7e35011513...
✓ 정상
"Hello" (no trailing space) → 8b1a9953c4611296...

일반적인 활용 사례

파일 무결성 검증
다운로드한 파일의 해시를 배포자가 제공한 체크섬과 비교해 파일이 손상되거나 변조되지 않았는지 확인합니다.
데이터 중복 제거
파일이나 데이터 블록의 해시를 생성하여 바이트 단위 비교 없이 중복을 빠르게 식별합니다.
캐시 키 생성
입력 데이터에서 결정적 해시 키를 만들어 캐시 무효화, ETag, 콘텐츠 주소 지정 저장소에 사용합니다.
API 서명 검증
많은 API가 요청 서명 과정에 MD5나 SHA-256을 사용합니다. 이 도구로 API 서명을 직접 검증하거나 디버깅할 수 있습니다.

기술 세부사항

MD5 알고리즘
MD5(Message-Digest Algorithm 5, RFC 1321)는 128비트 해시를 만듭니다. 입력을 512비트 블록으로 나누어 각 16회씩 4라운드의 연산으로 처리합니다. 빠르지만 암호적으로 깨졌으며 충돌 공격이 몇 초 안에 가능합니다.
SHA 계열
SHA-1은 160비트 해시를 만듭니다. SHA-256과 SHA-384/512는 SHA-2에 속합니다. 이 도구는 모든 SHA 변형에 대해 브라우저의 네이티브 Web Crypto API(crypto.subtle.digest())를 사용해 최적의 성능과 정확성을 보장합니다.
Web Crypto API
SubtleCrypto.digest() 메서드는 모든 현대 브라우저에서 하드웨어 가속 해싱을 제공합니다. ArrayBuffer 입력을 받아 ArrayBuffer를 반환하며, 화면 표시를 위해 16진수 문자열로 변환합니다.

모범 사례

MD5를 보안 용도로 사용하지 말 것
MD5는 암호적으로 깨졌습니다. 비밀번호 해싱, 디지털 서명, 인증서 검증에 사용하지 마십시오. 무결성 검사에는 SHA-256 이상을, 비밀번호에는 bcrypt나 Argon2를 사용하십시오.
체크섬에는 SHA-256 사용
파일 무결성 검증을 위한 믿을 만한 체크섬이 필요할 때는 SHA-256이 현재 표준입니다. 빠르고 충돌 저항성이 있으며 널리 지원됩니다.
다운로드는 해시로 검증
다운로드한 소프트웨어나 ISO의 해시를 배포자의 체크섬과 항상 대조하십시오. 파일 탭으로 해시를 계산해 비교하십시오.
해시 민감성
해시 함수는 입력 변화에 극도로 민감합니다. 단 1비트 차이만으로도 완전히 다른 해시가 나옵니다. 공백과 줄 바꿈을 포함해 입력이 의도한 그대로인지 확인하십시오.

자주 묻는 질문

MD5 해시는 무엇인가요?
MD5(Message-Digest Algorithm 5)는 텍스트, 파일, 이진 데이터 같은 어떤 입력이든 고정된 128비트(16진수 32자) 지문으로 변환하는 암호 해시 함수입니다. 같은 입력은 항상 같은 해시를 만들지만 입력이 아주 조금만 달라져도 완전히 다른 출력이 나옵니다. MD5는 Ronald Rivest가 1991년에 설계했으며 RFC 1321에 정의되어 있습니다.
MD5는 여전히 안전한가요?
아니요. MD5는 암호적으로 깨졌으며 보안 용도로 사용해서는 안 됩니다. 현대 하드웨어에서는 MD5에 대한 충돌 공격이 몇 초 안에 가능합니다. 체크섬, 캐시 키, 데이터 중복 제거 같은 보안과 무관한 용도에는 여전히 사용할 수 있지만, 보안 관련 용도에는 SHA-256 이상을 사용하십시오. 비밀번호 저장에는 어떤 해시 함수든 사용하지 말고 bcrypt나 Argon2를 사용하십시오.
MD5와 SHA-256의 차이는 무엇인가요?
MD5는 128비트(16진수 32자) 해시를 만들고 빠르지만 안전하지 않습니다. SHA-256은 256비트(16진수 64자) 해시를 만들고 암호적으로 여전히 안전합니다. SHA-256은 NSA가 설계하고 NIST가 표준화한 SHA-2 계열의 일원입니다. 새 프로젝트에서는 언제나 MD5보다 SHA-256을 선호하십시오.
파일 체크섬은 어떻게 검증하나요?
파일 체크섬을 검증하려면 다음을 따르십시오. 1) 파일을 다운로드하고 배포자가 제공한 체크섬을 확인합니다. 2) 이 도구를 열어 파일 탭으로 전환합니다. 3) 다운로드한 파일을 끌어다 놓거나 클릭해 선택합니다. 4) 배포자가 사용한 것과 동일한 알고리즘(보통 SHA-256 또는 MD5)을 선택합니다. 5) 해시 생성을 클릭해 결과를 배포자의 체크섬과 비교합니다. 일치하면 파일이 무결합니다. 비교 탭을 이용해 두 해시를 붙여넣으면 자동으로 일치 여부를 확인할 수도 있습니다.
MD5, SHA-1, SHA-256 — 무엇을 써야 하나요?
대부분의 용도에는 SHA-256을 사용하십시오. MD5(128비트)는 암호적으로 깨졌으므로 레거시 호환이나 보안과 무관한 체크섬에만 쓰십시오. SHA-1(160비트)도 손상되어 주요 브라우저와 CA가 비권장합니다. SHA-256(256비트)은 여전히 안전하며 무결성 검증, 디지털 서명, 인증서 검증의 현재 업계 표준입니다. SHA-512는 더 큰 출력을 제공하지만 특수한 용도 이외에는 거의 필요하지 않습니다.
MD5 해시를 역으로 돌려 원본 텍스트를 얻을 수 있나요?
아니요. 해시 함수는 설계상 단방향이어서 수학적으로 해시를 뒤집어 입력을 복원할 수 없습니다. 다만 짧거나 흔한 문자열에 대해서는 공격자가 사전 계산한 '레인보우 테이블'로 알려진 해시-텍스트 매핑을 조회합니다. 그래서 비밀번호 저장에 순수 MD5를 절대 사용해서는 안 됩니다.
이 도구 사용 시 데이터는 안전한가요?
예. 모든 해싱은 JavaScript로 브라우저 내부에서 완전히 수행됩니다. 어떤 데이터도 서버로 전송되지 않습니다. 도구를 사용하는 동안 브라우저 개발자 도구를 열어(F12 → 네트워크 탭) 직접 확인할 수 있으며 외부로 나가는 요청이 전혀 없습니다. 텍스트와 파일은 기기를 떠나지 않습니다.
같은 텍스트인데 해시가 다른 이유는 무엇인가요?
해시가 다르게 나오면 보이지 않는 차이를 확인하십시오. 끝의 공백, 줄 바꿈 차이(\n 대 \r\n), 인코딩 차이가 원인일 수 있습니다. 해시 함수는 극도로 민감해서 공백 하나만 더 있어도 완전히 다른 해시가 나옵니다. 또한 두 비교에서 같은 알고리즘을 사용하고 있는지 확인하십시오.
큰 파일도 해싱할 수 있나요?
예. 모든 처리가 Web Crypto API를 사용해 브라우저 내부에서 이루어지므로 이 도구는 크기에 상관없이 파일을 해싱할 수 있습니다. 다만 매우 큰 파일(수 GB)은 처리 시간이 더 걸리고 메모리를 상당히 사용합니다. 대부분의 1 GB 이하 파일은 몇 초 안에 해싱이 끝납니다.
MD5 체크섬은 무엇이며 해시와 어떻게 다른가요?
MD5 체크섬과 MD5 해시는 같은 것입니다. 둘 다 MD5 알고리즘의 128비트(16진수 32자) 출력을 가리킵니다. '체크섬'이라는 용어는 보통 파일 무결성을 검증하기 위해(예: 다운로드한 파일을 배포자가 제공한 값과 비교) 해시를 사용할 때 쓰고, '해시'는 알고리즘 출력 전반을 가리키는 더 일반적인 용어입니다. 위의 파일 탭으로 어떤 파일이든 MD5 체크섬을 계산할 수 있습니다.
MD5는 암호와 같은가요?
아니요. MD5는 해시 함수이며 암호가 아닙니다. 암호는 가역적이어서 올바른 키가 있으면 데이터를 원래 형태로 복호화할 수 있습니다. 해싱은 단방향이어서 해시에서 원본 입력을 복원할 수 없습니다. MD5는 입력을 고정 길이 32자 지문으로 변환합니다. 키가 없고 MD5 해시를 '복호화'할 방법도 없습니다. 실제 암호에는 AES나 RSA를 사용하십시오. 비밀번호 저장에는 절대 순수 MD5를 쓰지 말고 bcrypt나 Argon2를 사용하십시오.
JavaScript나 Python에서 MD5 해시는 어떻게 생성하나요?
JavaScript(브라우저)에서는 Web Crypto API를 사용합니다: const hash = await crypto.subtle.digest('SHA-256', new TextEncoder().encode('text')); Web Crypto는 MD5를 기본 지원하지 않으므로 'crypto-js' 같은 라이브러리나 순수 JS 구현을 사용하십시오. Python에서는 import hashlib; hashlib.md5('text'.encode()).hexdigest(). Node.js에서는 require('crypto').createHash('md5').update('text').digest('hex'). 코드를 작성하지 않고 빠른 일회성 해시 생성에는 이 도구를 사용하십시오.
다운로드한 파일이 손상되지 않았는지 확인해야 합니다. 체크섬에는 MD5와 SHA-256 중 어느 것을 써야 하나요?
배포자가 제공할 때마다 SHA-256을 사용하십시오. SHA-256(256비트)은 파일 무결성 검증의 현재 표준이며 Ubuntu, Debian을 비롯한 대부분의 보안 의식 있는 프로젝트와 주요 소프트웨어 배포사가 사용합니다. MD5도 역사적인 이유로 다운로드와 함께 여전히 널리 공개되며 우발적 손상(전송 중 파일이 깨지는 일) 감지에는 충분합니다. 그러나 MD5 체크섬은 공격자가 파일과 체크섬을 동시에 의도적으로 변조하는 상황에는 보호를 제공하지 못합니다. MD5 충돌은 몇 초 안에 만들어질 수 있기 때문입니다. SHA-256은 이 간극을 메웁니다. 배포자가 MD5만 제공한다면 그것이라도 사용하십시오. 어떤 체크섬이든 다운로드 손상을 잡는 데 없는 것보다 낫습니다. 이 도구의 파일 탭으로 브라우저 내부에서 바로 두 해시를 모두 계산할 수 있습니다.
레거시 시스템이 비밀번호를 MD5 해시로 저장하고 있습니다. 사용자에게 재설정을 강제하지 않고 bcrypt로 마이그레이션하려면 어떻게 하나요?
이중 해싱 마이그레이션 전략을 사용하십시오. 아이디어는 각 사용자의 기존 MD5 해시를 bcrypt로 다시 해싱하는 것입니다. 사용자가 로그인하면 제출한 비밀번호를 먼저 MD5로 해싱해 예전 해시 형식을 얻고, 그 MD5 해시를 저장된 bcrypt 해시와 대조해 검증합니다. 로그인이 성공하면 평문 비밀번호를 bcrypt로만 다시 해싱하여 데이터베이스 레코드를 갱신합니다. 시간이 지나면서 사용자가 로그인할 때마다 레코드가 순수 bcrypt로 자연스럽게 이전됩니다. 로그인하지 않는 사용자는 과도기적 이중 해시 방식에 머물지만, bcrypt가 솔트와 작업 인자를 더해 주므로 순수 MD5보다 훨씬 안전합니다. 6-12개월의 기한을 정해 옛 해시에 남은 비활성 계정에는 비밀번호 재설정을 요구하십시오. 이 방식은 활성 사용자를 투명하게 무중단으로 이전하면서 bcrypt 층이 레인보우 테이블 공격으로부터 MD5 해시를 보호해 안전을 유지합니다.
콘텐츠 주소 지정 저장소를 만들고 있습니다. 중복 제거 같은 비보안 해싱에도 MD5가 여전히 안전한가요?
대부분의 실무 상황에서 MD5는 콘텐츠 주소 지정 저장소(CAS)와 중복 제거에 수용 가능하지만 주의 사항이 있습니다. 우연히 같은 내용을 가진 두 파일을 감지하는 용도라면 MD5의 128비트 출력은 거의 무시할 수 있는 오탐률(2^128분의 1)을 제공합니다. MD5의 약점은 의도적으로 만든 충돌입니다. 공격자는 같은 MD5 해시를 공유하는 서로 다른 두 파일을 고의로 만들 수 있습니다. CAS 시스템이 내부 전용이고 외부가 콘텐츠를 주입할 수 없다면 MD5는 적합하고 빠릅니다. 사용자가 콘텐츠를 제출할 수 있다면(클라우드 저장소, CDN 캐시, 패키지 레지스트리) 해시 충돌 공격을 막기 위해 SHA-256을 사용하십시오. Git이 SHA-1에서 SHA-256으로 전환한 이유가 바로 이것입니다. 최대 성능과 보안을 동시에 원한다면 하드웨어 가속이 적용된 현대 하드웨어에서 SHA-256은 MD5보다 약 20% 느릴 뿐이므로 실무에서는 보안 향상 비용이 거의 들지 않습니다.

무작위 비밀번호 생성기 (Random Password Generator)

보안 도구

강력한 무작위 비밀번호를 즉시 만드는 무료 온라인 도구. 길이와 문자 종류를 지정해 최대 50개까지 일괄 생성하고 엔트로피 분석을 확인할 수 있습니다.

UUID 생성기 · 디코더 (UUID Generator & Decoder)

보안 도구

무료 UUID 생성기. v1, v4, v5, v7 UUID를 즉시 생성하고 검증합니다. 최대 50개 일괄 생성 가능하며 100% 브라우저 기반 온라인 도구로 회원 가입이 필요 없습니다.

진법 변환기 (Number Base Converter)

변환 도구

2진수, 16진수, 10진수, 8진수 및 임의 진법(2-36)을 즉시 변환합니다. 온라인에서 무료로 사용할 수 있으며 모든 처리는 브라우저에서 이루어집니다.

Base64 디코더 · 인코더 (Base64 Decoder & Encoder)

인코딩 & 포매팅

Base64를 온라인에서 무료로 인코딩하고 디코딩합니다. UTF-8과 이모지를 완벽 지원하는 실시간 변환으로, 100% 브라우저에서 처리되어 회원 가입이 필요 없습니다.

이미지 압축기 · JPEG, PNG, WebP 온라인 압축

변환 도구

JPEG, PNG, WebP 이미지를 브라우저에서 최대 80% 압축합니다. 업로드 없이 20장 일괄 처리, 품질 조절, 전후 비교를 무료로 지원합니다.

JSON 포맷터 (JSON Formatter)

인코딩 & 포매팅

브라우저에서 JSON을 즉시 포매팅하고 유효성 검사를 수행합니다. 온라인 도구로 구문 검사, 오류 감지, 최소화, 복사를 지원하며 데이터는 서버로 전송되지 않습니다.