블로그로 돌아가기
Security 2026-04-21

해시 vs 암호화: 더 이상 혼동하지 마세요

해시는 단방향 지문, 암호화는 가역. 서로 다른 문제를 해결합니다.

해싱과 암호화는 보안 관련 면접에서도 자주 혼동됩니다. 그 실수가 실제 버그로 이어집니다.

해싱

입력 → 고정 길이 출력. 같은 입력은 항상 같은 출력. 역연산 불가.

용도: 파일 무결성, 중복 제거, 비밀번호 저장(bcrypt/Argon2와 함께), git 커밋 ID.

암호화

입력 + 키 → 암호문. 올바른 키로 원래 입력 복원.

대칭: 같은 키 (AES-GCM).

비대칭: 공개키 암호화, 개인키 복호화 (RSA, ECDSA).

사용 시기

목표도구

|-----|------|

비밀번호 저장Argon2 / bcrypt 파일 검증SHA-256 DB 시크릿 암호화KMS의 AES-GCM API 서명HMAC 또는 비대칭 서명

흔한 혼동

  • "암호화된 비밀번호"는 보통 해시됨. 가역 저장은 취약점.
  • 솔트는 비밀번호에만. 레인보우 테이블 방지.
  • 인코딩(Base64)은 암호화 아님.

2026년 알고리즘

  • 일반 해시: SHA-256
  • 비밀번호: Argon2id
  • 대칭: AES-256-GCM
  • 비대칭: Ed25519, X25519