Security 2026-04-21
해시 vs 암호화: 더 이상 혼동하지 마세요
해시는 단방향 지문, 암호화는 가역. 서로 다른 문제를 해결합니다.
해싱과 암호화는 보안 관련 면접에서도 자주 혼동됩니다. 그 실수가 실제 버그로 이어집니다.
해싱
입력 → 고정 길이 출력. 같은 입력은 항상 같은 출력. 역연산 불가.
용도: 파일 무결성, 중복 제거, 비밀번호 저장(bcrypt/Argon2와 함께), git 커밋 ID.
암호화
입력 + 키 → 암호문. 올바른 키로 원래 입력 복원.
대칭: 같은 키 (AES-GCM).
비대칭: 공개키 암호화, 개인키 복호화 (RSA, ECDSA).
사용 시기
|-----|------|
흔한 혼동
- "암호화된 비밀번호"는 보통 해시됨. 가역 저장은 취약점.
- 솔트는 비밀번호에만. 레인보우 테이블 방지.
- 인코딩(Base64)은 암호화 아님.
2026년 알고리즘
- 일반 해시: SHA-256
- 비밀번호: Argon2id
- 대칭: AES-256-GCM
- 비대칭: Ed25519, X25519