
파일을 다운로드한 후 "MD5 체크섬을 확인하세요"라는 안내를 본 적 있으신가요? 또는 개발 중에 비밀번호를 저장할 때 어떤 해시 함수를 사용해야 할지 고민해보셨나요? 오늘은 해시 함수가 무엇인지, 종류별 차이는 무엇인지, 그리고 어떤 상황에 무엇을 사용해야 하는지 알아보겠습니다.
해시 함수란?
해시 함수(Hash Function)는 임의 길이의 데이터를 고정된 길이의 값(해시값)으로 변환하는 함수입니다.
핵심 특성:
- 결정론적: 같은 입력 → 항상 같은 출력
- 단방향성: 해시값으로 원본 데이터 복원 불가
- 눈사태 효과: 입력 데이터가 조금만 바뀌어도 해시값이 완전히 달라짐
- 고정 길이 출력: 입력 크기에 상관없이 항상 같은 길이 출력
- 충돌 저항성: 서로 다른 입력이 같은 해시값을 생성하기 어려움
주요 해시 알고리즘 비교
MD5 (Message Digest 5)
출력 길이: 128비트 (32자리 16진수)
예시: 5d41402abc4b2a76b9719d911017c592
개발: 1991년 Ronald Rivest
가장 오래되고 널리 알려진 해시 함수입니다. 계산이 매우 빠릅니다.
현재 상태: 보안 용도로 사용 불가
MD5는 1996년에 결함이 발견되었고, 2004년에 충돌 공격이 성공했습니다. 즉, 같은 MD5 해시를 가진 두 개의 서로 다른 데이터를 만들 수 있습니다. 비밀번호 저장, 디지털 서명 등 보안 목적으로는 절대 사용해서는 안 됩니다.
사용 가능한 용도:
- 파일 무결성 체크 (악의적 변조 우려가 없는 환경)
- 캐시 키 생성
- 중복 데이터 감지
SHA-1 (Secure Hash Algorithm 1)
출력 길이: 160비트 (40자리 16진수)
개발: 1995년 NSA
MD5보다 강력하지만 2017년 구글이 SHA-1 충돌 공격에 성공했습니다. 현재 TLS 인증서, 디지털 서명에서 사용 금지됩니다.
SHA-256 (SHA-2 계열)
출력 길이: 256비트 (64자리 16진수)
예시: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
개발: 2001년 NSA
현재 가장 많이 사용되는 해시 알고리즘입니다. SHA-2 계열에는 SHA-224, SHA-256, SHA-384, SHA-512가 있습니다.
사용처:
- TLS/SSL 인증서
- 비트코인 블록체인
- 파일 무결성 검증
- JWT 서명
- 코드 서명
SHA-512
출력 길이: 512비트 (128자리 16진수)
SHA-256보다 2배 긴 해시값을 생성합니다. 64비트 시스템에서는 SHA-256보다 빠르게 계산됩니다. 더 높은 보안 수준이 필요할 때 사용합니다.
SHA-3 (Keccak)
출력 길이: 가변 (224~512비트)
개발: 2015년 NIST
SHA-2와 완전히 다른 알고리즘 구조를 사용합니다. 이더리움 블록체인에서 사용합니다. SHA-2에 취약점이 발견될 경우를 대비한 백업 알고리즘입니다.
해시 알고리즘 선택 가이드
| 용도 | 추천 알고리즘 | 이유 |
|---|---|---|
| 비밀번호 저장 | bcrypt, Argon2 | 느린 해시 함수 필요 |
| 파일 무결성 검증 | SHA-256 | 충분한 보안, 표준 |
| 빠른 체크섬 | MD5 | 보안 불필요 시 |
| TLS/SSL | SHA-256 | 업계 표준 |
| 블록체인 | SHA-256, SHA-3 | 플랫폼에 따라 |
| JWT 서명 | HMAC-SHA256 | JWT 표준 |
비밀번호 저장에 일반 해시를 쓰면 안 되는 이유
SHA-256이 강력해도 비밀번호 저장에 직접 사용하면 안 됩니다.
레인보우 테이블 공격:
자주 사용되는 비밀번호의 해시값을 미리 계산한 테이블(레인보우 테이블)과 비교하면 역추적이 가능합니다.
해결책 — 솔팅(Salting):
비밀번호 + 무작위 솔트값 → 해시
→ 같은 비밀번호도 다른 해시값 생성
→ 레인보우 테이블 공격 무력화
비밀번호 해싱 전용 알고리즘:
- bcrypt: 의도적으로 느린 해시 함수
- Argon2: 현재 가장 권장되는 알고리즘
- PBKDF2: 미국 정부 표준에서 승인
파일 무결성 검증 방법
소프트웨어를 다운로드할 때 제공되는 체크섬을 확인하면 파일이 변조되지 않았음을 확인할 수 있습니다.
1. 공식 사이트에서 소프트웨어 + SHA-256 체크섬 확인
2. 다운로드한 파일의 SHA-256 해시 생성
3. 두 값이 일치하면 파일 정상
불일치하면 파일 손상 또는 변조 가능성
가장 쉬운 방법 — 브라우저에서 바로

- 🔐 MD5·SHA-1·SHA-256·SHA-384·SHA-512 지원
- 📄 텍스트 및 파일 해시 생성
- 🔒 파일이 서버로 전송되지 않음
- 💰 완전 무료
사용 방법
- toolzip.app/tools/hash-generator 접속
- 알고리즘 선택 (MD5, SHA-256 등)
- 텍스트 입력 또는 파일 선택
- 해시값 확인 및 복사
자주 묻는 질문
Q. SHA-256 해시를 역으로 복원할 수 있나요?
이론적으로 불가능합니다. 단방향 함수이기 때문입니다. 다만 짧거나 단순한 입력은 레인보우 테이블로 역추적될 수 있습니다.
Q. 파일 해시를 생성하면 파일이 서버에 올라가나요?
ToolZip은 브라우저에서만 처리합니다. 파일이 서버로 전송되지 않습니다.
정리
- ✅ MD5·SHA-1·SHA-256·SHA-384·SHA-512 지원
- ✅ 텍스트 및 파일 해시 생성
- ✅ 파일이 서버로 전송되지 않음
- ✅ 완전 무료
관련 도구: 비밀번호 생성기 · Base64 변환기 · JWT 디코더
'ToolZip' 카테고리의 다른 글
| 이미지 EXIF 뷰어·삭제기 무료 — 사진 속 개인정보 확인하고 지우는 방법 (0) | 2026.09.20 |
|---|---|
| 색상 변환기 무료 — HEX RGB HSL 색상코드 변환 완전 정리 (0) | 2026.09.20 |
| Base64 인코딩·디코딩 무료 — 이진 데이터를 텍스트로 변환하는 방법 (0) | 2026.09.19 |
| STL·FBX 파일 뷰어 무료 — 3D 프린팅·게임 모델 온라인에서 바로 확인 (0) | 2026.09.19 |
| PLY 파일 뷰어 무료 — 설치 없이 온라인에서 바로 열기 (0) | 2026.09.18 |