hash 2025-01-17
해시 알고리즘 비교: MD5, SHA-256 등
다양한 해시 알고리즘을 비교하고 각각 언제 사용해야 하는지 알아보세요.
해시 함수는 임의 크기의 데이터를 고정 크기 값으로 변환합니다. 가장 일반적인 알고리즘을 살펴보겠습니다.
해시 함수란?
해시 함수는 입력을 받아 고정 크기의 바이트 문자열을 반환합니다. 주요 특성:
- 결정적: 같은 입력은 항상 같은 출력 생성
- 빠름: 모든 입력에 대해 빠르게 계산
- 단방향: 해시에서 입력을 역으로 얻을 수 없음
- 충돌 저항: 같은 해시를 가진 두 입력을 찾기 어려움
일반적인 해시 알고리즘
MD5 (Message Digest 5)
- 출력: 128비트 (32 16진수 문자)
- 속도: 매우 빠름
- 보안: 취약 - 보안용으로 사용 금지
- 용도: 체크섬, 비보안 파일 검증
SHA-1
- 출력: 160비트 (40 16진수 문자)
- 속도: 빠름
- 보안: 사용 중단 - 충돌 발견됨
- 용도: 레거시 시스템만
SHA-256
- 출력: 256비트 (64 16진수 문자)
- 속도: 빠름
- 보안: 대부분의 애플리케이션에 안전
- 용도: 디지털 서명, 인증서, 블록체인
SHA-512
- 출력: 512비트 (128 16진수 문자)
- 속도: SHA-256보다 약간 느림
- 보안: 더 높은 보안 마진
- 용도: 고보안 애플리케이션
비교표
|---------|----------|------|------|
모범 사례
1. 보안을 위해 MD5나 SHA-1 절대 사용 금지
2. 일반 목적으로 SHA-256 사용
3. 비밀번호에는 bcrypt/Argon2 사용
4. 메시지 인증에는 HMAC 사용
Hash Generator를 사용하여 모든 알고리즘으로 해시를 생성하세요.