Security 2026-04-28
bcrypt vs Argon2: 2026년 비밀번호 해싱
올바른 비밀번호 해싱 알고리즘 선택과 프로덕션 매개변수 튜닝.
평문 비밀번호 저장은 상상할 수 없습니다. MD5/SHA-256으로 저장하는 것도 별로입니다.
의도적으로 느린 이유
GPU 농장은 초당 수십억 SHA-256 후보를 해싱합니다. bcrypt/Argon2 같은 느린 해시는 이를 하드웨어 1달러당 초당 수천으로 제한합니다.
bcrypt: 신뢰할 수 있는 베테랑
const hash = await bcrypt.hash(password, 12);
비용 인자(2026년 12) 증가마다 작업 두 배. 제한: 72바이트 입력 캡.
Argon2: 모던 승자
const hash = await argon2.hash(password, {
type: argon2.argon2id,
memoryCost: 2 16,
timeCost: 3,
parallelism: 1
});
메모리 하드: GPU/ASIC 공격이 훨씬 어려워집니다.
OWASP 2026 파라미터
- Argon2id: m=64MB, t=3, p=1
- bcrypt: cost 12
선택 가이드
- 신규 → Argon2id
- 기존 bcrypt → 유지, 마이그레이션 시 다음 로그인에 재래핑
직접 구현 금지
표준 라이브러리 래퍼를 사용하세요.