CodeKitHub
생성기 도구

MD5 해시 생성기 온라인

마지막 업데이트:

MD5 해시는 입력이 단어 하나든 파일 전체든 항상 128비트, 즉 32자리 16진수 문자열로 고정됩니다. 텍스트를 입력하거나 붙여넣으면 MD5 해시가 즉시 나오고, 요즘 시스템에서 점점 더 많이 요구하는 SHA-1과 SHA-256도 함께 무료로 제공합니다. 모든 해시 계산은 브라우저 안에서 로컬로 이루어지며 입력한 내용은 전송되지 않습니다.

MD5
SHA-1
SHA-256

이 도구는 무엇인가요?

MD5는 어떤 입력이든 고정된 32자리 16진수 지문으로 바꿔주는 해시 함수입니다. 같은 입력은 항상 같은 해시를 만들며, 단 한 글자만 바뀌어도 완전히 다른 결과가 나옵니다. 이런 특성 때문에 체크섬, 캐시 키, 중복 제거, 데이터 무결성 검증에 유용하게 쓰입니다.

보안 참고사항: MD5는 암호학적으로 취약하다고 판명되어(충돌을 의도적으로 만들어낼 수 있음), 비밀번호나 전자서명에는 절대 사용해서는 안 됩니다. 이런 용도에는 SHA-256(아래에서도 함께 제공)이나 bcrypt 같은 전용 비밀번호 해싱을 사용하세요. 체크섬이나 캐시 키처럼 보안과 무관한 용도라면 MD5도 여전히 문제없이 쓸 수 있습니다.

MD5는 1992년 론 리베스트(Ron Rivest)가 RFC 1321로 발표한 이후 지금까지 쓰이고 있으며, 알려진 약점에도 불구하고 여전히 많은 레거시 시스템이 MD5를 요구하는 이유이기도 합니다.

왜 사용해야 할까요?

  • 체크섬을 생성해 파일이나 문자열이 실수로 변경되지 않았는지 확인할 수 있습니다.
  • 결정론적인 캐시 키와 중복 제거용 ID를 만들 수 있습니다.
  • 이미 알고 있는 MD5 값과 비교해 데이터 무결성을 확인할 수 있습니다.
  • SHA-1과 SHA-256도 함께 확인할 수 있어 다른 도구가 따로 필요 없습니다.
  • 100% 로컬 처리: 입력한 내용이 브라우저를 벗어나지 않습니다.

사용 방법

  1. 입력창에 텍스트를 입력하거나 붙여넣으세요.
  2. "해시 생성" 버튼을 클릭하세요.
  3. MD5, SHA-1, SHA-256 결과를 확인하세요(시스템이 대문자를 요구하면 "대문자"를 체크하세요).
  4. 필요한 해시 옆의 "복사" 버튼을 클릭하세요.

예시

입력

hello

결과

MD5:     5d41402abc4b2a76b9719d911017c592
SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

해시는 결정론적입니다: "hello"는 어떤 도구를 쓰든 매번 정확히 이 값을 만들어냅니다.

어떤 해시를 써야 할까요?

셋 다 단방향 해시지만 서로 바꿔 써도 되는 건 아닙니다 — 올바른 선택은 보안이 필요한지, 아니면 단순 지문만 필요한지에 전적으로 달려 있습니다.

알고리즘출력 크기이럴 때 사용이럴 때는 사용 금지
MD5128비트(16진수 32자)체크섬, 캐시 키, 중복 제거, 파일의 우발적 변경 감지비밀번호, 전자서명 등 보안이 중요한 모든 용도 — 충돌을 의도적으로 만들어낼 수 있음
SHA-1160비트(16진수 40자)레거시 시스템 호환(예: 오래된 Git 커밋 해시)새로운 보안 관련 설계 — 2017년부터 실제 충돌 공격이 입증됨
SHA-256256비트(16진수 64자)전자서명, TLS 인증서, 블록체인, 위변조 방지가 중요한 체크섬비밀번호를 직접 저장하는 용도 — SHA-256조차 이 목적에는 계산 속도가 너무 빨라서 부적합하므로 bcrypt, scrypt, Argon2를 대신 사용

흔한 사용 사례

  • 다운로드한 파일을 실행하기 전에 파일을 해시하고 배포자가 제공한 체크섬과 결과를 비교해 확인할 때.
  • URL이나 쿼리 문자열로부터 결정론적인 캐시 키를 생성해, 동일한 요청이 항상 같은 캐시 항목으로 연결되게 할 때.
  • 많은 양의 레코드를 각각 해시하고 전체 텍스트 대신 해시값을 비교해 중복을 제거할 때.
  • 두 파일 사본이 바이트 단위로 완전히 동일한지 직접 열거나 diff하지 않고 빠르게 확인할 때.

충돌이 보안에는 문제지만 체크섬에는 문제없는 이유

해시 충돌이란 서로 다른 두 입력이 같은 해시 출력값을 만들어내는 것을 말합니다 — 입력은 무한하고 출력은 길이가 고정되어 있으므로 어떤 해시 함수에서든 수학적으로 피할 수 없지만, 실제 위험도는 전적으로 사용 목적에 달려 있습니다. 보안 서명의 경우, 의도적으로 만들어낸 충돌을 이용하면 공격자가 정당한 파일을 악성 파일로 바꿔치기하면서도 같은 해시값을 유지할 수 있는데, 이는 실제로 MD5는 2004년부터, SHA-1은 2017년부터 입증된 공격입니다. 체크섬이나 캐시 키의 경우, 아무도 일부러 충돌을 만들려고 하지 않습니다 — 그저 파일이 우연히 손상되지 않았는지, 또는 임의의 두 문자열이 우연히 같은지 확인하는 것뿐이므로, MD5의 보안 용도를 무너뜨리는 바로 그 수학적 약점이 보안과 무관한 용도에는 사실상 아무런 영향을 주지 않습니다.

여러 알고리즘을 한 번에 비교하고 싶으신가요?

동일한 텍스트의 MD5, SHA-1, SHA-256, SHA-384, SHA-512를 하나씩이 아니라 나란히 보고 싶다면 다중 알고리즘 비교 도구를 사용하세요.

다중 알고리즘 해시 생성기

자주 묻는 질문

MD5 해시를 원래 텍스트로 복호화할 수 있나요?

아니요 — 해싱은 원래부터 단방향으로 설계되어 있어서, 해시값만으로 원본을 계산해낼 수 없습니다. 'MD5 복호화' 사이트들은 흔히 쓰이는 입력값을 미리 계산해둔 거대한 표에서 해시를 검색할 뿐이라, 고유한 입력값은 역산할 수 없습니다.

MD5로 비밀번호를 저장해도 안전한가요?

아니요, 절대 안 됩니다. MD5는 무차별 대입 공격에 매우 취약하고 알려진 충돌 공격도 존재합니다. 비밀번호에는 bcrypt, scrypt, Argon2를 사용하세요. MD5는 체크섬처럼 보안과 무관한 용도에만 사용할 수 있습니다.

같은 텍스트인데 다른 도구에서는 왜 다른 해시가 나오나요?

대부분 눈에 안 보이는 차이 때문입니다: 끝에 붙은 줄바꿈이나 공백, 줄바꿈 방식 차이(\r\n vs \n), 또는 텍스트 인코딩 차이입니다. 바이트 단위로 완전히 동일한 입력은 언제나 동일한 해시를 만들어냅니다.

MD5, SHA-1, SHA-256은 서로 뭐가 다른가요?

출력 길이와 보안성이 다릅니다: MD5(128비트)와 SHA-1(160비트)은 둘 다 보안 용도로는 이미 뚫린 것으로 판명되었고, SHA-256(256비트)이 현재 표준이며 여전히 안전합니다. 확신이 서지 않는다면 SHA-256을 사용하세요.

입력한 텍스트가 해시 계산을 위해 서버로 전송되나요?

아니요. MD5는 자바스크립트로, SHA-1과 SHA-256은 브라우저 내장 Web Crypto API로 계산되며, 모든 처리가 여러분의 기기 안에서만 이루어집니다.

관련 도구