CodeKitHub
생성기 도구

다중 알고리즘 해시 생성기 — 나란히 비교

마지막 업데이트:

텍스트를 입력하거나 붙여넣으면 MD5, SHA-1, SHA-256, SHA-384, SHA-512 해시를 나란히 즉시 확인할 수 있습니다 — 다섯 개의 별도 도구를 돌아다닐 필요가 없습니다. 특정 알고리즘 하나만 필요하다면 전용 MD5 또는 SHA-256 도구(아래 링크)가 더 빠르게 확인됩니다. 모든 계산은 브라우저에서 로컬로 이루어지며, 입력한 텍스트는 어디로도 전송되지 않습니다. 미리 말씀드리자면, 해싱은 단방향 처리라서 어떤 해시도 원래 텍스트로 "복호화"할 수 없습니다 — 이유는 아래 FAQ를 참고하세요.

MD5
SHA-1
SHA-256
SHA-384
SHA-512

이 도구는 무엇인가요?

해시 함수는 임의의 입력을 받아 다이제스트라는 고정 길이의 16진수 문자열로 변환합니다. 같은 입력은 항상 같은 다이제스트를 만들어내고, 단 한 글자만 바뀌어도 완전히 다른 결과가 나옵니다. 이 도구는 널리 쓰이는 다섯 가지 알고리즘 — MD5, SHA-1, SHA-256, SHA-384, SHA-512 — 을 같은 입력에 대해 실행하므로 서로 비교하거나 필요한 것을 바로 가져다 쓸 수 있습니다.

이 다이제스트들은 단방향입니다: 해시로부터 원래 텍스트를 복원하는 것은 수학적으로 사실상 불가능합니다. 흔히 온라인에서 해시를 "복호화"한다고 하는 것은 실제로는 조회입니다 — 그 사이트는 여러분의 해시가 흔한 비밀번호나 문구를 미리 계산해둔 수십억 개의 해시 목록 중 하나와 일치하는지 확인할 뿐입니다. 입력이 그 목록에 없다면 찾을 수 없습니다. 실행할 역함수 자체가 존재하지 않기 때문입니다.

SHA-2 계열(SHA-256, SHA-384, SHA-512)은 FIPS 180-4에서 NIST가 표준화했으며 아직 깨지지 않았습니다. MD5와 SHA-1은 사정이 다릅니다: 2004년 MD5에서, 2017년 SHA-1에서("SHAttered" 공격) 실제 충돌 공격이 입증되었기 때문에 둘 다 암호학적으로 깨진 것으로 간주됩니다.

왜 사용해야 할까요?

  • 여러 도구를 오갈 필요 없이 다섯 가지 해시 알고리즘을 한 번에 계산합니다.
  • 공개된 값과 MD5, SHA-1, SHA-256 체크섬을 비교해 무결성을 검증할 수 있습니다.
  • 더 긴 출력이 필요한 경우 SHA-384나 SHA-512 다이제스트를 생성할 수 있습니다.
  • 임의의 텍스트로부터 결정적인(deterministic) ID나 캐시 키를 만들 수 있습니다.
  • 100% 로컬: 입력한 텍스트는 브라우저를 벗어나지 않으므로 민감한 텍스트에도 안전합니다.

사용 방법

  1. 입력창에 텍스트를 입력하거나 붙여넣으세요.
  2. "Generate"를 클릭하세요.
  3. MD5, SHA-1, SHA-256, SHA-384, SHA-512 결과를 확인하세요(대상 시스템이 대문자를 기대한다면 "Uppercase output"을 체크하세요).
  4. 필요한 해시 옆의 "Copy"를 클릭하세요.

예시

입력

hello

결과

MD5:    5d41402abc4b2a76b9719d911017c592
SHA-1:  aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

해시는 결정적입니다: "hello"는 어떤 도구에서든, 언제나 이 값 그대로 나옵니다.

알고리즘 하나만 필요하신가요?

필요한 알고리즘을 이미 알고 있고 다른 결과로 페이지가 복잡해지는 게 싫다면, 단일 알고리즘 전용 도구가 더 빠르게 확인할 수 있습니다.

MD5 생성기 · SHA-256 암호화 / 복호화

다섯 가지 알고리즘 비교

다섯 알고리즘 모두 단방향 해시 함수이지만 출력 길이와 보안 강도가 다릅니다.

알고리즘출력 크기보안 상태주요 용도
MD5128비트(16진수 32자)깨짐 — 충돌을 인위적으로 만들 수 있음체크섬, 캐시 키, 중복 제거
SHA-1160비트(16진수 40자)깨짐 — 2017년부터 실제 충돌 공격 존재레거시 시스템 호환 목적으로만
SHA-256256비트(16진수 64자)안전, 현재 업계 표준디지털 서명, TLS, 블록체인, 무결성 검사
SHA-384384비트(16진수 96자)안전, SHA-256보다 긴 출력고신뢰 서명, 일부 TLS/PKI 구성
SHA-512512비트(16진수 128자)안전, 여기서 가장 긴 출력최대 다이제스트 길이가 필요한 애플리케이션

흔한 활용 사례

  • 다운로드한 파일이 실행하기 전에 배포자가 공개한 체크섬과 일치하는지 확인하기.
  • 임의의 텍스트로부터 결정적인 캐시 키나 ID를 생성하기.
  • 두 문서나 레코드가 바이트 단위로 동일한지 직접 비교하지 않고 확인하기.
  • 애플리케이션이 명시적으로 요구할 때 더 강력한 다이제스트(SHA-384/SHA-512)를 생성하기.

자주 묻는 질문

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

아니요. 해싱은 애초에 단방향으로 설계되어 있어서, 다이제스트를 다시 입력값으로 되돌릴 수 있는 키나 수학적 연산이 존재하지 않습니다. "MD5를 복호화"하거나 "SHA-256을 복호화"한다고 주장하는 사이트는 사실 흔한 입력값과 그 해시를 미리 계산해둔 거대한 표를 검색하는 것뿐입니다. 원래 텍스트가 그 표에 없을 만큼 특이하다면 누구도 복원할 수 없습니다.

그러면 사이트들은 비밀번호를 평문으로 저장하지 않고 어떻게 확인하나요?

비밀번호 자체가 아니라 비밀번호의 해시를 저장합니다. 로그인할 때 입력한 값을 해시로 바꾸고 두 해시를 비교합니다. 일치하면 비밀번호도 일치한다는 뜻이며, 사이트가 실제 비밀번호를 저장하거나 "복호화"할 필요가 전혀 없습니다.

어떤 알고리즘을 써야 하나요?

보안이 중요한 용도(서명, 인증서, 다운로드 검증)라면 SHA-256 이상을 사용하세요 — MD5와 SHA-1은 둘 다 암호학적으로 깨졌으므로 보안 목적으로 신뢰해서는 안 됩니다. 체크섬, 캐시 키, 중복 제거 같은 비보안 용도라면 MD5도 여전히 문제없고 계산 속도도 더 빠릅니다.

같은 텍스트인데 다른 도구와 해시가 다르게 나오는 이유는요?

대개 눈에 보이지 않는 차이 때문입니다: 끝의 줄바꿈이나 공백, 서로 다른 줄바꿈 방식(\r\n vs \n), 또는 다른 텍스트 인코딩입니다. 바이트 단위로 완전히 같은 입력이라면 올바르게 구현된 모든 도구에서 항상 동일한 해시가 나옵니다.

제 텍스트가 서버로 전송되나요?

아닙니다. MD5는 브라우저에서 자바스크립트로 계산되고, SHA-1/SHA-256/SHA-384/SHA-512는 브라우저 내장 Web Crypto API를 사용합니다. 아무것도 기기를 벗어나지 않습니다.

실제로는 어떤 해시를 써야 하나요?

파일 무결성 검증, 서명, 비밀번호 관련 용도 등 보안과 관련된 일이라면 SHA-256을 선택하세요 — NIST FIPS 180-4 표준이며 대부분의 소프트웨어가 이 방식으로 체크섬을 배포합니다. MD5와 SHA-1은 캐시 키, 중복 제거, 이를 요구하는 레거시 시스템 연동 같은 비보안 용도에서만 허용됩니다.

관련 도구