Hash Generator
MD5/SHA1/SHA256/SHA512 해시 생성
해시 비교
두 해시 값을 붙여넣어 일치 여부를 확인하세요 (대소문자 무시).
Hash Generator 소개
해시 생성기는 해시 다이제스트 계산, HMAC 생성, 파일 해싱, 해시 비교 기능을 모두 브라우저에서 제공하는 종합 암호화 도구입니다. 해시 탭에서는 MD5(128비트), SHA-1(160비트), SHA-256(256비트), SHA-512(512비트) 네 가지 해시를 동시에 계산합니다. HMAC 탭에서는 비밀 키를 사용하여 HMAC-SHA-256과 HMAC-SHA-512 인증 코드를 생성합니다. 파일 해시 탭에서는 파일을 업로드하여 SHA-1, SHA-256, SHA-512 체크섬을 계산할 수 있습니다.
해싱과 HMAC 생성은 소프트웨어 개발과 보안의 기본입니다. 개발자는 SHA-256 해시로 다운로드 파일의 무결성을 검증하고, 캐싱을 위한 콘텐츠 주소 식별자를 생성하며, DB 마이그레이션 체크섬을 만듭니다. HMAC은 웹훅 서명 검증(GitHub, Stripe, Slack), API 인증, JWT 서명, 안전한 메시지 인증에 필수적입니다. 파일 해시 기능은 shasum, openssl dgst 같은 명령줄 도구를 대체하여 다운로드한 소프트웨어, 펌웨어, ISO 파일을 브라우저에서 직접 검증할 수 있게 합니다.
SHA와 HMAC 연산은 브라우저의 네이티브 Web Crypto API(crypto.subtle)를 사용하여 하드웨어 가속된 표준 구현으로 처리됩니다. MD5는 Web Crypto에서 지원하지 않아 순수 JavaScript로 구현됩니다. 파일 해싱은 File API로 파일을 읽어 crypto.subtle.digest로 처리합니다. 모든 연산은 브라우저 내에서만 실행되어 데이터가 서버로 전송되지 않습니다. 내장된 비교 섹션에서 두 해시 문자열을 붙여넣어 대소문자 무관하게 일치 여부를 확인할 수 있어 다운로드 검증에 유용합니다.
주요 기능
- 하나의 도구에서 MD5, SHA-1, SHA-256, SHA-512 네 가지 해시를 텍스트 입력으로 동시 계산
- Web Crypto API를 사용한 HMAC-SHA-256, HMAC-SHA-512 생성으로 웹훅 서명 검증 지원
- 파일 해싱: 파일 업로드로 SHA-1, SHA-256, SHA-512 체크섬을 브라우저에서 직접 계산
- 해시 비교: 두 해시 값을 붙여넣어 대소문자 무관하게 일치 여부 확인으로 다운로드 검증
- SHA와 HMAC은 네이티브 Web Crypto API(crypto.subtle)로 최대 속도와 정확성 보장
- 각 해시 결과를 원클릭으로 복사하여 스크립트나 설정 파일에 바로 붙여넣기
- shasum, md5sum, openssl 등 표준 도구와 동일한 소문자 16진수 출력
- 완전한 UTF-8 지원 — 한글, 이모지, 특수문자 등 모든 유니코드 텍스트 해싱 가능
- 100% 클라이언트 사이드 처리 — 텍스트, 키, 파일이 브라우저 밖으로 전송되지 않음
- 해시, HMAC, 파일 해시 섹션이 탭으로 구분된 깔끔한 인터페이스
자주 묻는 질문
암호학적 해시 함수란 무엇인가요?
암호학적 해시 함수는 임의 길이의 입력을 받아 고정 크기 출력(다이제스트)을 생성하는 함수로, 결정적이고, 빠르게 계산되며, 사실상 역산이 불가능합니다. 입력에 한 글자만 바뀌어도 완전히 다른 다이제스트가 생성됩니다. 데이터 무결성 검증, 디지털 서명, 비밀번호 저장, 콘텐츠 주소 지정 등에 사용됩니다.
HMAC이란 무엇이고 언제 사용하나요?
HMAC(해시 기반 메시지 인증 코드)은 암호학적 해시 함수와 비밀 키를 결합하여 인증 태그를 생성합니다. 단순 해싱과 달리 HMAC은 메시지의 무결성과 진정성을 모두 증명합니다. 웹훅 서명 검증(GitHub, Stripe, Slack), API 요청 서명, JWT 토큰 검증, 메시지 변조 확인이 필요한 모든 상황에서 사용합니다.
어떤 해시 알고리즘을 사용해야 하나요?
디지털 서명, 파일 무결성, HMAC 인증 등 보안이 중요한 작업에는 SHA-256 또는 SHA-512를 사용하세요. MD5와 SHA-1은 충돌 공격에 취약하여 보안 용도로는 부적합하며, 단순 체크섬이나 레거시 시스템 호환성 확인용으로만 사용해야 합니다.
브라우저에서 파일 해싱은 어떻게 작동하나요?
파일을 업로드하면 브라우저가 File API(file.arrayBuffer())로 파일의 원시 바이트를 읽은 다음 crypto.subtle.digest()에 전달하여 SHA 해시를 계산합니다. 파일이 컴퓨터를 떠나지 않으며 업로드가 발생하지 않습니다. shasum이나 sha256sum 명령줄 도구와 동일한 체크섬을 생성하므로 다운로드한 소프트웨어, 펌웨어, ISO 파일 검증에 이상적입니다.
해시 비교는 어떻게 작동하나요?
비교 섹션은 두 해시 값의 대소문자를 무시한 문자열 비교를 수행합니다. 한 도구는 대문자, 다른 도구는 소문자 16진수를 출력하는 일반적인 경우를 처리합니다. 두 해시를 붙여넣고 비교를 클릭하면 일치 또는 불일치 결과를 명확하게 확인할 수 있습니다. 파일 다운로드 시 게시된 체크섬과 비교하는 데 유용합니다.
MD5는 아직 안전한가요?
MD5는 암호학적 용도로는 안전하지 않습니다 — 2004년 이후 실용적인 충돌 공격이 입증되었습니다. 다만 파일 다운로드의 우발적 손상 확인, 캐시 키 생성, MD5를 요구하는 레거시 시스템 호환 등 비보안 체크섬 용도로는 여전히 유용합니다.
네 가지 해시의 길이가 다른 이유는 무엇인가요?
각 알고리즘이 서로 다른 다이제스트 크기를 생성하기 때문입니다. MD5는 128비트(16진수 32자), SHA-1은 160비트(40자), SHA-256은 256비트(64자), SHA-512는 512비트(128자)를 출력합니다. 다이제스트가 길수록 충돌 저항성이 강하고 무차별 대입 공격에 더 강합니다.
해시에서 원래 텍스트를 복원할 수 있나요?
아닙니다. 암호학적 해시 함수는 단방향으로 설계되어 해시에서 원본 입력을 복원하는 수학적 방법이 없습니다. 짧은 비밀번호 같은 약한 입력에 대해서는 사전 공격이나 레인보우 테이블 공격이 가능하기 때문에, 비밀번호 해싱에는 전용 알고리즘(bcrypt, Argon2)을 사용합니다.
데이터가 안전한가요?
네. 모든 연산(SHA 다이제스트, HMAC 서명, 파일 해시)은 브라우저의 네이티브 Web Crypto API와 로컬 JavaScript로 실행됩니다. 텍스트, 비밀 키, 파일 내용 어떤 데이터도 서버에 전송되거나, 데이터베이스에 저장되거나, 어디에도 기록되지 않습니다.
shasum 같은 명령줄 도구와 결과가 같나요?
네, 동일한 입력에 대해 shasum, sha256sum, openssl dgst 등과 같은 16진수 출력을 생성합니다. HMAC의 경우 openssl dgst -hmac과 동일한 결과를 출력합니다. 다만 명령줄 도구가 파일을 읽을 때 후행 줄바꿈 문자를 포함할 수 있으므로, 다이제스트를 비교할 때는 입력이 정확히 일치하는지 확인하세요.