일반 해시 함수는 빠른 게 설계 목표입니다. 파일 무결성 체크에는 장점이지만, 비밀번호 보호에서는 치명적 약점이 됩니다.
| 알고리즘 | 목적 | Salt | GPU 저항 | 현재 권장 |
|---|---|---|---|---|
| SHA-256 직접 | 파일 해시 | ❌ | ❌ 없음 | 금지 |
| PBKDF2 | 비밀번호 | ✅ | ⚠ 약함 | FIPS 환경만 |
| bcrypt | 비밀번호 | ✅ 자동 | ✅ 양호 | 레거시 OK |
| scrypt | 비밀번호 | ✅ | ✅ 메모리 집약 | 권장 |
| Argon2id | 비밀번호 | ✅ | ✅✅ 최강 | 최우선 권장 |
비밀번호는 해싱(Hashing)이 아니라 키 스트레칭(Key Stretching)을 해야 합니다.
빠른 해시 = 공격자에게 유리 / 의도적으로 느린 전용 함수 = 방어자에게 유리
DB가 탈취되더라도 공격자가 원본 비밀번호를 역산하는 데 수년이 걸려야 합니다.
2015 Password Hashing Competition 우승작. NIST SP 800-63B 권장. 메모리·CPU·병렬 비용 모두 조절 가능.
1999년 설계, 여전히 안전. cost factor가 1 증가할 때마다 연산량 2배. 72바이트 초과 입력 잘림 주의.
Colin Percival 설계. N이 메모리/CPU 비용을 동시에 결정. Litecoin에서도 사용.
FIPS 140-2/3 인증 환경(금융·정부)에서 요구 시 사용. GPU 저항성은 위 셋보다 약함.
비밀번호 전용 해시 함수 테스트 · 검증 도구 | Argon2id · bcrypt · scrypt · PBKDF2
비밀번호를 입력하고 알고리즘을 선택한 뒤
[해시 생성] 버튼을 누르세요.