파일 해시 계산 — MD5・SHA-1・SHA-256・SHA-512로 다운로드 파일 변조 확인

파일을 드래그 앤 드롭하면 MD5・SHA-1・SHA-256・SHA-512 해시값을 즉시 계산합니다. 배포처가 공개한 체크섬과 비교해 다운로드한 파일이 손상되거나 변조되지 않았는지 확인할 수 있습니다. 파일은 서버로 전송되지 않습니다.

해시 알고리즘 비교표

알고리즘 출력 비트 수 16진수 문자 수 주요 용도
MD5 128비트 32자 가벼운 무결성 확인 용도로만 적합. 암호학적 안전성이 이미 깨져 비밀번호 저장・전자서명에는 사용 불가
SHA1 160비트 40자 MD5보다 안전하지만 충돌 공격이 입증됨. Git 커밋 해시 등 비보안 용도로는 여전히 사용됨
SHA256 256비트 64자 현재도 안전하다고 평가되는 표준 해시. 소프트웨어 다운로드 무결성 확인에 가장 널리 사용됨
SHA512 512비트 128자 SHA-256보다 더 긴 출력. 64비트 CPU에서는 SHA-256보다 빠르게 계산되는 경우도 있음

파일 해시 확인 팁

  • 배포처가 알고리즘 이름을 명시하지 않은 경우, 비교란에 해시값을 붙여넣기만 하면 자동으로 어떤 알고리즘인지 판별합니다.
  • 큰 파일(수백MB 이상)은 브라우저 메모리를 많이 사용하므로 계산에 몇 초에서 1분 정도 걸릴 수 있습니다. 탭을 닫지 말고 기다려 주세요.
  • ISO 이미지나 설치 프로그램처럼 변조 시 피해가 큰 파일일수록 해시 대조를 습관화하는 것이 좋습니다.
  • MD5・SHA-1은 충돌 공격이 입증되어 악의적인 변조 탐지에는 적합하지 않습니다. 보안이 중요한 경우 SHA-256 이상을 사용하세요.

자주 묻는 질문

먼저 공식 해시값을 다시 확인해 줄바꿈이나 불필요한 공백 등 복사 실수가 없는지 확인하세요. 그래도 일치하지 않으면 파일이 손상되었거나 변조되었을 가능성이 있으므로 실행하지 말고 삭제한 뒤 공식 사이트에서 다시 다운로드하는 것을 강력히 권장합니다.

배포처가 공개한 알고리즘에 맞추는 것이 기본입니다. 여러 개가 공개되어 있다면 더 안전한 SHA-256 또는 SHA-512를 우선하세요. MD5・SHA-1은 이미 암호학적 안전성이 깨져 악의적인 변조 탐지에는 불충분합니다.

계산 대상이 텍스트 문자열인지 바이너리 파일인지의 차이일 뿐, 알고리즘 자체는 동일합니다. 텍스트 문자열의 해시값을 계산하려면 자매 도구인 문자열 해시 일괄 계산을 이용하세요.

브라우저에서 사용 가능한 메모리 범위 내라면 계산할 수 있지만, 파일 전체를 한 번에 메모리에 읽어들이므로 수 GB 규모의 초대용량 파일에서는 브라우저가 느려지거나 실패할 수 있습니다.
ツールくん

여담이지만 ― 공식 사이트가 해시값을 공개하는 이유

소프트웨어 배포 사이트의 다운로드 링크 옆에 "SHA256: a1b2c3..."와 같은 해시값이 함께 적혀 있는 것을 본 적이 있을 것입니다. 이는 배포자가 만든 원본 파일이 전송 중 손상되거나 미러 서버에서 변조되지 않았음을 사용자 스스로 검증할 수 있게 하기 위한 장치입니다.

이 구조가 특히 중요해지는 것이 리눅스 배포판의 ISO 이미지 배포입니다. 전 세계에 흩어진 미러 서버를 통해 다운로드하기 때문에 일반적인 통신 오류는 물론, 악의적인 제3자가 미러 서버를 탈취해 악성코드가 심어진 변조판을 배포할 이론적 위험도 존재합니다. 공식 사이트가 서명된 해시값 목록(대부분 GPG 서명 포함)을 공개하면, 사용자는 어느 미러에서 다운로드하든 로컬에서 해시값을 계산해 대조하는 것만으로 안전성을 검증할 수 있습니다.

해시 함수는 "입력이 1비트만 바뀌어도 출력이 완전히 달라지는(눈사태 효과)" 성질을 가지고 있어, 의도적인 변조는 물론 다운로드 중 미세한 통신 오류로 인한 손상도 확실히 감지할 수 있습니다. 파일 크기가 같아도 내용이 1바이트만 달라도 해시값은 완전히 달라지므로, 육안으로 파일 크기를 확인하는 것보다 훨씬 확실한 검증 수단입니다.