Skip to content
DocsAll
教程

파일 해시 검증: MD5, SHA256 무결성 확인

DocsAll 团队 · 게시일 2026년 6월 30일 · 수정일 2026년 7월 12일
해시MD5SHA256

파일 해시란

해시(Hash)는 임의 길이의 데이터를 고정 길이 문자열로 변환하는 알고리즘입니다. 파일 해시는 파일의 "지문"입니다 — 같은 파일의 해시값은 고유하며, 파일이 1바이트라도 바뀌면 해시값이 달라집니다.

흔한 용도:

  • 파일 무결성 검증 (다운로드가 완전한지)
  • 변조 방지 (파일이 수정되었는지)
  • 중복 제거 (두 파일이 같은지)
  • 비밀번호 저장 (평문이 아닌 해시를 저장)

흔한 해시 알고리즘

MD5

  • 출력 128비트 (32자리 16진수 문자열)
  • 속도가 빠름
  • 이미 크랙됨, 충돌 존재 (다른 파일이 같은 해시)
  • 보안 용도에 부적합
  • 여전히 무결성 검증에 사용 (비보안 용도)

SHA-1

  • 출력 160비트 (40자리 16진수 문자열)
  • 속도 중간
  • 이미 크랙됨, 충돌 존재
  • 보안 용도에 권장하지 않음
  • Git는 초기에 SHA-1을 사용, 현재 SHA-256으로 마이그레이션 중

SHA-256

  • 출력 256비트 (64자리 16진수 문자열)
  • 속도가 느림
  • 안전, 현재 충돌 없음
  • 보안 용도에 권장
  • 블록체인, HTTPS 인증서 모두 SHA-256 사용

SHA-512

  • 출력 512비트 (128자리 16진수 문자열)
  • 속도가 느림
  • SHA-256보다 보안성이 더 높음
  • 고보안 용도에 적합

선택 권장사항

  • 무결성 검증 (비보안): MD5로 충분 (빠름)
  • 보안 용도: SHA-256 (보안과 속도의 균형)
  • 고보안 용도: SHA-512
  • 권장하지 않음: SHA-1 (이미 크랙됨)

해시 검증의 원리

해시 생성

  1. 파일의 전체 내용 읽기
  2. 해시 알고리즘으로 계산
  3. 고정 길이 문자열 출력

검증 과정

  1. 파일 다운로드 시 공식 해시값 획득
  2. 로컬에서 파일 해시값 계산
  3. 두 해시값 비교
  4. 같음 = 파일 완전, 다름 = 파일 손상 또는 변조됨

무결성을 검증할 수 있는 이유

해시 알고리즘의 특성:

  • 같은 입력은 항상 같은 출력
  • 다른 입력이 같은 출력이 될 확률은 거의 없음 (충돌 확률 극히 낮음)
  • 입력이 1바이트 바뀌면 출력이 완전히 달라짐 (눈사태 효과)

따라서 파일이 1바이트라도 바뀌면 해시값이 완전히 달라집니다.

사용 상황

다운로드 검증

대용량 파일(시스템 이미지, 소프트웨어 설치 패키지) 다운로드 시 공식 해시값을 제공합니다. 다운로드 후 로컬에서 해시를 계산해 비교하여 다운로드가 완전하고 손상되지 않았는지 확인합니다.

변조 방지

중요 파일(계약서, 증거)의 해시를 생성하여 보관합니다. 나중에 파일이 수정되었는지 검증합니다.

파일 중복 제거

두 파일의 해시가 같으면 내용이 같습니다 (충돌 확률 극히 낮음). 해시로 파일 중복을 판단하면 바이트 단위 비교보다 빠릅니다.

비밀번호 저장

웹사이트는 사용자 비밀번호의 해시값을 저장하고 평문은 저장하지 않습니다. 로그인 시 입력된 비밀번호의 해시를 계산해 비교합니다. 데이터베이스가 유출되어도 공격자는 평문 비밀번호를 얻을 수 없습니다.

디지털 서명

디지털 인증서는 해시 + 암호화로 파일 출처와 무결성을 검증합니다.

파일 해시를 검증하는 방법

DocsAll로 검증

파일 해시 도구:

  1. 파일 업로드
  2. 도구가 MD5, SHA-1, SHA-256 계산
  3. 해시값 표시
  4. 공식 해시와 비교

브라우저에서 계산하며 파일이 업로드되지 않습니다.

Windows 명령줄

certutil -hashfile 파일명 SHA256

Mac/Linux 명령줄

shasum -a 256 파일명
md5 파일명

해시 비교

  • 공식 해시값 복사
  • 비교란에 붙여넣기
  • 도구가 자동 비교
  • 또는 수동으로 글자 단위 비교

자주 묻는 질문

해시값이 다르면 어떡하나요

  • 다운로드가 불완전함: 다시 다운로드
  • 파일이 변조됨: 신뢰할 수 있는 출처에서 다시 다운로드
  • 해시 알고리즘이 다름: 같은 알고리즘으로 비교했는지 확인

MD5는 아직 쓸 수 있나요

  • 무결성 검증 (비보안 용도): 사용 가능
  • 보안 용도 (변조 방지, 비밀번호): 권장하지 않음, SHA-256 사용
  • 충돌 위험: 같은 MD5를 가진 두 다른 파일을 만들 수 있음

해시로 원문을 역추론할 수 있나요

불가능합니다. 해시는 단방향 함수입니다. 해시값에서 원문을 복원할 수 없습니다. 따라서 비밀번호 해시 저장이 안전합니다 (유출되어도 평문을 얻을 수 없음).

대용량 파일 해시가 느림

  • 해시는 파일 전체를 읽어야 함
  • 대용량 파일(수 GB)은 계산에 시간이 걸림
  • 정상적인 현상, 인내심을 가지고 기다리세요

해시값 대소문자

해시값은 16진수 문자열이며 대소문자는 영향을 주지 않습니다 (a와 A는 동등). 비교 시 대소문자를 무시하세요.

보안 팁

신뢰할 수 있는 출처의 해시값 사용

공식 웹사이트, 신뢰할 수 있는 채널에서 해시값을 획득하세요. 출처 불명의 해시값으로 검증하지 마세요. 공격자가 바꿔치기했을 수 있습니다.

강력한 해시 알고리즘 사용

보안 용도에는 SHA-256 이상을 사용하세요. MD5와 SHA-1은 더 이상 안전하지 않습니다.

해시는 암호화가 아닙니다

해시는 단방향이며 복호화할 수 없습니다. 암호화는 양방향이며 복호화할 수 있습니다. 해시를 암호화처럼 사용하지 마세요.

솔트 추가 해시

비밀번호 저장 시 솔트 추가 해시(salt + password를 다시 해시)를 사용하여 레인보우 테이블 공격을 방지하세요.

DocsAll로 해시 계산

파일 해시 도구:

  1. 파일 업로드
  2. MD5, SHA-1, SHA-256, SHA-512 자동 계산
  3. 모든 해시값 표시
  4. 필요한 해시값 복사
  5. 공식값과 비교

브라우저에서 계산하며 파일이 서버에 업로드되지 않습니다.

요약

파일 해시는 파일의 지문으로 무결성 검증과 변조 방지에 사용됩니다. MD5는 빠르지만 이미 크랙되었고, SHA-256이 안전하여 권장됩니다. 검증 시 신뢰할 수 있는 출처에서 해시값을 획득하고 같은 알고리즘으로 비교하세요. DocsAll 파일 해시 도구는 브라우저에서 실행되며 파일이 외부로 전송되지 않습니다.

D
DocsAll 团队 DocsAll 编辑团队

DocsAll 编辑团队,由产品经理、工程师和内容编辑组成,致力于分享实用的办公文档处理技巧。