블로그로 돌아가기
hash 2025-01-30

암호화 해시 함수 설명

암호화 해시 함수의 작동 원리, 속성, 그리고 MD5, SHA-256 또는 bcrypt를 언제 사용해야 하는지 알아봅니다.

암호화 해시 함수는 현대 보안 시스템의 기본 구성 요소입니다. 임의의 데이터를 디지털 지문 역할을 하는 고정 크기 출력으로 변환합니다.

암호화 해시 함수의 속성

좋은 암호화 해시 함수는 다음 속성을 가집니다:

1. 결정론적: 동일한 입력은 항상 동일한 출력을 생성

2. 빠른 계산: 모든 입력에 대해 빠르게 해시 계산

3. 역상 저항성: 해시를 역으로 하여 입력을 찾을 수 없음

4. 충돌 저항성: 동일한 해시를 가진 두 개의 다른 입력을 찾기 극히 어려움

5. 눈사태 효과: 작은 입력 변경이 극적인 출력 변경을 유발

일반적인 해시 알고리즘

MD5 (128비트)

  • 상태: 깨짐, 안전하지 않음
  • 용도: 파일 체크섬(보안 외), 레거시 시스템
  • 피해야 할 용도: 비밀번호, 디지털 서명

SHA-256 (256비트)

  • 상태: 안전, 널리 사용됨
  • 용도: 디지털 서명, 블록체인, 파일 무결성

비밀번호용 해시 함수

비밀번호 해싱에 MD5, SHA-1, SHA-256을 단독으로 사용하지 마세요! 너무 빨라서 무차별 대입 공격이 가능합니다.

대신 비밀번호 해싱 전용 함수를 사용하세요:

bcrypt

  • 내장 솔트 포함
  • 설정 가능한 작업 팩터

Argon2 (PHC 2015 우승)

  • 설정 가능한 메모리, 시간, 병렬성
  • GPU 및 ASIC 공격에 저항

올바른 해시 함수 선택

목적권장

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

비밀번호 저장Argon2 또는 bcrypt 파일 무결성SHA-256 디지털 서명SHA-256 또는 SHA-512 비보안 체크섬MD5 또는 CRC32

해시 생성기 도구를 사용하여 모든 텍스트의 해시를 즉시 계산하세요.