Devin.KR

HASH GENERATOR · FILE CHECKSUM

해시 생성기

받은 파일, 원본과 똑같을까?

hello 를 입력하면 MD5, SHA-1, SHA-256, SHA-384, SHA-512 해시가 입력하는 즉시 한꺼번에 나옵니다. 파일을 끌어다 놓고 배포처가 공개한 체크섬을 붙여 넣으면 일치 여부도 바로 알려 줍니다.

  • 5개 알고리즘
  • 파일 체크섬
  • 업로드 없음
  • 브라우저에서만 처리
바로 사용하기 ↓
0자 · UTF-8 0바이트
파일을 끌어다 놓거나 클릭해서 선택하세요
업로드가 아닙니다. 파일은 브라우저 메모리에서만 읽습니다.
알고리즘해시값

이 도구를 쓰는 법

1. 문자열 해시

텍스트 탭에 값을 입력하면 다섯 가지 해시가 동시에 갱신됩니다. 입력은 UTF-8로 인코딩해 계산하므로, 자바의 "abc".getBytes(StandardCharsets.UTF_8) 를 MessageDigest 에 넣은 결과와 같습니다. 한글이 섞였는데 값이 다르다면 상대 쪽이 EUC-KR 로 인코딩했을 가능성이 큽니다.

2. 파일 체크섬 검증

배포 파일이 온전히 내려받아졌는지 확인할 때 씁니다. 파일 탭에 파일을 끌어다 놓고, 배포처가 공개한 해시를 해시 비교 칸에 붙여 넣으면 일치 여부를 바로 알려 줍니다. 대소문자와 앞뒤 공백은 무시합니다.

3. 어떤 알고리즘을 골라야 하나

  • SHA-256 — 기본값으로 삼으면 되는 선택입니다. 무결성 검증, 서명, 블록체인에 두루 쓰입니다.
  • SHA-512 — 64비트 환경에서는 SHA-256보다 오히려 빠른 경우가 많습니다. 더 긴 값이 필요할 때.
  • MD5 · SHA-1 — 충돌 공격이 실증됐습니다 보안 용도로 쓰면 안 됩니다. 다만 캐시 키, 중복 파일 찾기처럼 악의적 입력이 없는 곳에서는 여전히 쓰이고, 배포처가 MD5 만 공개한 경우도 있어 남겨 두었습니다.

관련 도구: URL 인코더/디코더 · JSON 포맷터 · JWT 디코더

MADE FOR YOUR WORK

이럴 때 쓰세요

내려받은 파일 검증

JDK, 리눅스 ISO 같은 설치 파일이 중간에 깨지거나 바뀌지 않았는지 공개된 SHA-256 과 비교합니다.

코드 결과와 대조

서버에서 계산한 해시가 맞는지 같은 문자열을 넣어 비교합니다. 입력은 UTF-8 로 계산합니다.

캐시 키·중복 판별

문자열이나 파일 내용을 짧은 고정 길이 값으로 바꿔 캐시 키나 중복 파일 판별용 값을 만듭니다.

API 서명 디버깅

요청 서명에 들어가는 본문 해시가 서버와 다를 때 공백·줄바꿈 한 글자 차이를 찾아냅니다.

STEP BY STEP

해시 생성기 사용 방법

이렇게 쓰세요

  1. 텍스트 또는 파일 고르기

    텍스트 탭에 입력하거나, 파일(체크섬) 탭에서 파일을 끌어다 놓거나 클릭해 고릅니다. 파일은 512MB 까지입니다.

  2. 해시값 확인

    표에 MD5 부터 SHA-512 까지 다섯 값이 나옵니다. 텍스트 탭에서는 입력할 때마다 바로 바뀝니다.

  3. 비교하기

    '해시 비교'를 켜고 공개된 값을 붙여 넣으면 다섯 값 중 맞는 것을 찾아 '일치 · SHA-256' 처럼 알려 줍니다.

  4. 필요한 값 복사

    줄마다 있는 복사 버튼으로 가져갑니다. '대문자로 표시'를 켜면 대문자 16진수로 바뀝니다.

UNDERSTAND THE BASICS

해시는 암호화가 아니다

해시 함수는 길이에 상관없이 어떤 데이터든 정해진 길이의 값으로 요약합니다. 같은 입력은 언제나 같은 값이 나오고, 입력이 1바이트만 달라도 결과가 완전히 달라집니다. 이 성질 덕분에 파일이 한 글자도 바뀌지 않았는지 짧은 값 하나로 확인할 수 있습니다.

해시는 되돌릴 수 없는 단방향 함수입니다. 키로 잠그고 다시 푸는 암호화와 다르고, 누구나 되돌릴 수 있는 Base64·URL 인코딩과도 다릅니다. 인터넷의 'MD5 복호화'는 미리 계산해 둔 사전에서 값을 찾는 것이라 흔한 문자열에만 통합니다.

알고리즘마다 안전성이 다릅니다. MD5 와 SHA-1 은 서로 다른 입력으로 같은 해시를 만드는 충돌 공격이 실제로 시연돼 보안 용도로는 쓰지 않습니다. 새로 고른다면 SHA-256 이 기본입니다. 비밀번호 저장에는 이들 대신 bcrypt, Argon2 처럼 일부러 느리게 만든 함수를 씁니다.

알고리즘별 해시 길이와 용도
알고리즘길이(비트)16진수 글자 수지금 쓰임
MD512832보안 용도 금지, 단순 체크섬
SHA-116040보안 용도 금지, 옛 시스템 호환
SHA-25625664무결성 검증·서명의 기본값
SHA-38438496더 긴 값이 필요할 때
SHA-512512128더 긴 값이 필요할 때

해시 생성기 사용 안내

텍스트나 파일의 MD5, SHA-1, SHA-256, SHA-384, SHA-512 해시값을 한 번에 계산합니다. 브라우저에서만 처리하며 입력값을 서버로 보내지 않습니다. 파일 무결성(체크섬) 검증도 지원합니다.

텍스트 또는 파일을 입력하면 다섯 가지 해시가 동시에 계산됩니다. 체크섬 비교 시 입력 인코딩, 줄바꿈과 알고리즘이 같은지 확인하세요.

QUICK EXAMPLE

해시 생성기 사용 예제

입력 · 시작

hello

결과 · 확인

MD5와 SHA 계열 다섯 가지 해시 동시 생성

일반 해시 생성기는 비밀번호 저장용 키 유도 함수가 아닙니다.

어떻게 구현했나

SHA 계열은 브라우저에 내장된 Web Crypto(crypto.subtle.digest)를 씁니다. 표준 구현이라 직접 만든 코드보다 빠르고 검증돼 있습니다.

MD5만 직접 구현했습니다. 안전하지 않다는 이유로 Web Crypto에서 빠졌기 때문입니다. 파일 체크섬 확인에는 여전히 쓰이므로 RFC 1321을 그대로 따랐습니다 — 0x80 패딩, 리틀엔디언 8바이트 길이, 64라운드 상수는 sin(i+1)의 절댓값에서 만듭니다.

텍스트와 파일이 같은 경로를 지납니다. 둘 다 바이트 배열(Uint8Array)로 바꾼 뒤 같은 함수에 넣습니다. 그래서 파일을 업로드할 필요가 없고, 같은 내용이면 텍스트로 넣든 파일로 넣든 값이 같습니다.

텍스트는 UTF-8로 인코딩해 계산합니다. 다른 사이트와 값이 다르다면 대개 인코딩이 아니라 줄바꿈이나 끝의 공백 차이입니다.

BEFORE YOU FINISH

자주 하는 실수

끝 줄바꿈 하나로 값이 달라진다

echo 로 만든 문자열에는 줄바꿈이 붙어 있어 도구 값과 다르게 나옵니다. 텍스트 탭 아래의 'UTF-8 N바이트' 로 보이지 않는 글자가 섞였는지 확인하세요.

상대가 EUC-KR 로 계산했다

이 도구는 텍스트를 UTF-8 바이트로 계산합니다. 한글이 섞인 값만 다르다면 상대 시스템이 EUC-KR·CP949 로 바꿔 계산했을 가능성이 큽니다.

비밀번호를 SHA-256 으로 저장한다

빠른 해시는 대입 공격도 빠르게 해 줍니다. 비밀번호는 솔트를 붙인 bcrypt·scrypt·Argon2 로 저장하세요.

자주 묻는 질문

SHA256 해시값 확인하는 방법은?

텍스트는 텍스트 탭에 입력하고, 파일은 파일(체크섬) 탭에 끌어다 놓으세요. 표의 SHA-256 줄이 그 값입니다.

파일 체크섬 비교는 어떻게 하나요?

파일을 고른 뒤 '해시 비교'를 켜고 배포처가 공개한 값을 붙여 넣으세요. 대소문자, 앞뒤 공백, 앞의 0x 는 무시하고 다섯 알고리즘 중 맞는 것을 찾아 줍니다.

윈도우나 맥에서 명령어로 해시를 구하려면?

윈도우는 certutil -hashfile 파일명 SHA256, 맥은 shasum -a 256 파일명, 리눅스는 sha256sum 파일명 입니다. 같은 파일이면 이 도구와 같은 값이 나옵니다.

MD5 는 이제 쓰면 안 되나요?

보안 용도로는 쓰면 안 됩니다. 다만 악의적인 조작을 걱정하지 않는 전송 오류 확인이나 캐시 키에는 여전히 쓰이고, 배포처가 MD5 만 공개한 경우도 있어 함께 계산합니다.

큰 파일도 해시를 구할 수 있나요?

512MB 까지 됩니다. 파일 전체를 브라우저 메모리로 읽어 계산하므로, 더 큰 파일은 위의 명령어를 쓰세요.

SHA 값이 'HTTPS 환경에서만 계산됩니다'로 나와요

SHA 계열은 브라우저의 Web Crypto 를 쓰는데, 이 기능은 HTTPS 같은 보안 연결에서만 열립니다. https:// 주소로 접속하면 계산됩니다.

입력한 데이터는 어디에서 처리하나요?

이 도구의 입력 데이터는 브라우저에서 처리하며 도구 기능을 위해 서버로 업로드하지 않습니다. 결과를 공유하기 전 민감한 정보가 없는지 확인하세요.

함께 쓰면 좋은 도구

전체 도구 바로가기

손으로 익히기

문서 · 데이터 변환

개발 실무

한국 개발 특화

API · 네트워크

이미지 · 색상