기술문서
>MS SQL Server
주요 해시 알고리즘별 사이즈
자료 기본정보
주요 프로그램 스펙
- 평점: 10.0
- 라이선스: free
피드백 및 다운로드
- 사용자 평점: 10.0
- 조회: 4
제조사 및 등록 정보
- 제작사: LUZENSOFT
- 등록일: 2025-12-22 09:32:16
- 설명
해시(Hash)값의 사이즈는 어떤 해시 알고리즘을 사용하느냐에 따라 결정됩니다. 해시 함수의 핵심 특징 중 하나가 입력 데이터의 크기와 상관없이 항상 고정된 길이의 결과물을 내놓는 것이기 때문입니다.
가장 자주 쓰이는 알고리즘별 사이즈는 다음과 같습니다.
1. 주요 해시 알고리즘별 사이즈
알고리즘 | 결과물 크기 (Bit) | 결과물 크기 (Byte) | 16진수 문자열 길이 | 주요 용도 |
|---|---|---|---|---|
MD5 | 128 bit | 16 byte | 32자 | 파일 무결성 체크 (보안 취약) |
SHA-1 | 160 bit | 20 byte | 40자 | 과거 SSL/Git (보안 취약) |
SHA-256 | 256 bit | 32 byte | 64자 | 블록체인(비트코인), 보안 표준 |
SHA-512 | 512 bit | 64 byte | 128자 | 높은 보안수준 요구 시 |
2. 사이즈 계산법 (왜 문자열 길이는 다른가요?)
우리가 눈으로 보는 해시값(예: 5e884898...)은 컴퓨터 내부의 이진수(Binary) 데이터를 **16진수(Hexadecimal)**로 변환한 것입니다.
16진수 한 글자는 **4비트(bit)**를 표현합니다.
따라서 SHA-256의 경우: $256 div 4 = 64$글자가 됩니다.
3. 용도에 따른 선택 가이드
단순 체크섬: 속도가 빠른 MD5나 CRC32를 쓰기도 하지만, 충돌 가능성이 있어 중요한 데이터에는 권장하지 않습니다.
일반적인 보안/암호화: 현재 업계 표준은 SHA-256입니다.
비밀번호 저장: 해시는 연산이 너무 빠르면 해킹(무차별 대입)에 취약합니다. 그래서 일부러 연산을 느리게 만든 Bcrypt, Argon2 같은 알고리즘을 사용하며, 이들은 내부 설정에 따라 출력 사이즈가 달라질 수 있습니다.
4. 해시 사이즈와 충돌 (Collision)
해시 사이즈가 커질수록 표현할 수 있는 경우의 수가 기하급수적으로 늘어납니다.
SHA-256의 경우 $2^{256}$개의 조합이 가능하며, 이는 우주에 있는 원자 수보다 많아 이론적으로 서로 다른 데이터가 같은 해시값을 가질 확률(충돌)이 사실상 0에 가깝습니다.