§

해시할 텍스트를 붙여넣거나 파일을 끌어다 놓으세요

인코딩
§

해시 생성기 — 온라인으로 SHA-256, MD5, SHA-1 생성

네 가지 다이제스트는 모두 여러분의 브라우저에서 로컬로 계산됩니다. 어떤 것도 업로드되지 않습니다.
§

MD5

사용 중단
§

SHA-1

사용 중단
§

SHA-256

§

SHA-512

KISA가 권고하는 SHA-256·SHA-512 다이제스트는 K-PKI 인증서, 홈택스 전자세금계산서 서명, 정부24 다운로드 파일의 무결성 체크에 그대로 쓰입니다. AWS Seoul S3 ETag(MD5), 토스 페이먼츠 웹훅 검증 SHA-256, GitHub 한국 미러의 커밋 SHA-1까지 — PIPA 로그 보존 요건에 맞춰 외부로 데이터를 보내지 않고 로컬에서 계산합니다.

암호화 해시란 무엇인가요?

암호학적 해시 함수는 임의 길이의 입력을 받아 고정 길이의 다이제스트를 출력합니다. 같은 입력은 항상 같은 다이제스트를 생성하며, 비트 하나만 뒤집어도 출력 비트의 약 절반이 바뀝니다. 이 도구는 가장 널리 사용되는 네 가지 다이제스트 — MD5(RFC 1321), SHA-1, SHA-256, SHA-512(SHA 계열은 FIPS 180-4에 정의되어 있습니다) — 을 여러분이 제공한 모든 텍스트나 파일에 대해 계산하며, 어떠한 데이터도 기기 밖으로 보내지 않습니다.

이 해시 생성기는 어떻게 작동하나요?

해싱은 전적으로 여러분의 기기에서 실행됩니다. SHA-1, SHA-256, SHA-512는 브라우저의 네이티브 crypto.subtle.digest API로 처리되며, MD5는 Web Crypto가 MD5를 제공하지 않기 때문에 번들된 퍼블릭 도메인 구현체를 사용합니다. 단계는 다음과 같습니다:

  1. 텍스트 영역에서 입력을 읽거나, 디스크에서 파일을 ArrayBuffer로 읽어들입니다. 텍스트는 해싱 전에 UTF-8로 인코딩되므로, 서버 측의 hashlib.sha256(text.encode()) 호출과 동일한 다이제스트가 나옵니다.
  2. 각 알고리즘은 메시지를 블록 경계에 맞춰 패딩한 뒤, 비트 연산과 모듈러 산술 연산을 통해 입력 바이트를 내부 상태와 섞으며 블록 단위로 처리합니다.
  3. 마지막 블록이 처리되면 내부 상태가 최종화됩니다: MD5는 128비트, SHA-1은 160비트, SHA-256은 256비트, SHA-512는 512비트를 산출합니다.
  4. 원시 다이제스트 바이트는 패널 위에서 선택한 인코딩에 따라 소문자 16진수 또는 표준 Base64로 변환됩니다.
  5. 각 다이제스트는 자체적인 읽기 전용 텍스트 영역에 복사 버튼과 함께 표시됩니다. 실시간 모드를 켜면 키 입력마다 다시 해시되어 아발란치 효과를 실시간으로 확인할 수 있습니다.

어떤 해시 알고리즘을 사용해야 하나요?

이곳에서 제공하는 네 가지 알고리즘은 레거시 체크섬부터 현재의 암호학적 권장 사항까지 전 범위를 다룹니다. 익숙함이 아니라 용도에 따라 선택하세요:

  • MD5(128비트) — 빠르고 어디에나 있지만 암호학적으로 깨졌습니다. 실용적인 충돌은 2004년부터 공개되어 있습니다. 보안 목적이 아닌 체크섬에만 사용하세요: 중복 제거 키, 캐시 버스터, ETag 스타일 지문, 신뢰할 수 있는 카탈로그와 대조하는 파일 무결성 검증 등.
  • SHA-1(160비트) — 보안 용도로는 마찬가지로 사용 중단되었습니다. SHAttered 공격은 2017년 공개된 PDF 충돌을 입증했습니다. 레거시 Git 객체 ID, 오래된 TLS 인증서, 그리고 기본 해시의 깨짐이 아직 키를 유출하지 않는 HMAC 구성에서 여전히 보입니다. 신규 작업에는 도입하지 마세요.
  • SHA-256(256비트) — 현재의 범용 기본값입니다. TLS 인증서 지문, Bitcoin 블록 해시, 소프트웨어 릴리스 체크섬, 컨테이너 이미지 다이제스트, 그리고 대부분의 현대 코드 서명 파이프라인에서 사용됩니다. 잘 모르겠다면 이것을 선택하세요.
  • SHA-512(512비트) — SHA-256과 같은 SHA-2 계열이지만 내부 상태가 더 크고 64비트 워드 크기를 사용합니다. 64비트 CPU에서는 SHA-256보다 종종 더 빠르며, 추가적인 충돌 여유나 더 긴 HMAC 키용 다이제스트가 필요할 때 선호되는 선택입니다.

이 해시 생성기를 사용하는 이유는 무엇인가요?

  • 프라이버시: 입력의 모든 바이트는 브라우저에서 로컬로 해시됩니다. 파일 업로드 없음, 네트워크 왕복 없음, 서버 로그 없음. 파일 선택기는 File API를 통해 디스크에서 직접 읽습니다.
  • 한 번에 네 가지 다이제스트: 한 번만 붙여넣으면 MD5, SHA-1, SHA-256, SHA-512를 나란히 확인할 수 있으며, 다시 해시하지 않고도 출력 인코딩을 16진수와 Base64 사이에서 전환할 수 있습니다.
  • 표준에 부합하는 출력: SHA 계열은 crypto.subtle.digest에 위임되며, 이는 운영체제가 이미 신뢰하는 것과 동일한 FIPS 180-4 구현입니다. MD5는 RFC 1321을 바이트 단위로 그대로 따릅니다.
  • 검증 작업을 위해 설계됨: 실시간 모드는 입력하는 동안 아발란치 효과를 보여 주며, 파일 패널은 탭이 보유할 수 있는 메모리 한도까지의 바이너리를 처리하므로 터미널 없이도 릴리스 아카이브를 검증할 수 있습니다.

해시 함수의 일반적인 활용 사례는 무엇인가요?

해시는 일상적인 엔지니어링 작업 곳곳에서 등장합니다:

  • 다운로드 검증: 릴리스 아카이브의 SHA-256 다이제스트를 프로젝트 웹사이트에 게시된 값과 비교하여 전송 중 변조되지 않았는지 확인하기.
  • 통합 디버깅: 파트너 서비스가 요청 서명에 기대하는 정확한 MD5나 SHA-256을 재현하여, 정규화 문자열 빌더의 한 칸 오류를 찾아내기.
  • 콘텐츠 주소 지정: 페이로드로부터 결정적인 ID를 생성하여 캐시 키, 중복 제거 마커 또는 Git 스타일 객체 식별자로 사용하기.

해시 예시는 어떻게 생겼나요?

ASCII 문자열 hello를 해시하면 MD5는 5d41402abc4b2a76b9719d911017c592, SHA-1은 aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d, SHA-256은 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824, 그리고 SHA-512는 9b71d224bd62f3785d96d46ad3ea3d73...로 시작하는 128자 16진수 문자열이 됩니다. 끝에 공백 하나를 추가하고 다시 해시하면 모든 다이제스트가 완전히 다르게 바뀝니다.

이 해시 생성기는 운영체제가 이미 신뢰하는 것과 동일한 기본 요소 위에서 전적으로 여러분의 브라우저에서 실행됩니다: SHA 계열은 Web Crypto가, MD5는 Web Crypto가 제공하지 않는 유일한 다이제스트를 위해 작고 검증된 MD5 루틴이 담당합니다. 붙여넣고, 파일을 끌어다 놓고, 다이제스트를 복사하세요 — 그 외에 어떤 것도 탭을 벗어나지 않습니다.