ZeroTool Workbench

파일 해시 검사기

로컬 파일의 SHA-256, SHA-1, SHA-384, SHA-512, MD5 체크섬을 브라우저에서 계산. 업로드 없이 다운로드 무결성을 검증하고 기대 해시값과 자동 비교.

100% 클라이언트 사이드 데이터가 브라우저 밖으로 나가지 않습니다 무료 · 회원가입 불필요

Drop a file, or click to choose

Any file · best up to ~1 GB · hashed in your browser

Algorithms

100% client-side — the file never leaves your browser

사용 방법

  1. 업로드 영역에 파일을 끌어다 놓거나 클릭해서 선택합니다.
  2. SHA-256은 기본 선택. 필요하면 SHA-1 / SHA-384 / SHA-512 / MD5를 추가로 체크하세요.
  3. ”해시 계산”을 누르면 알고리즘별로 결과가 한 줄씩 나오고 복사 버튼이 함께 표시됩니다.
  4. 다운로드 검증에는 배포자가 공개한 기대 해시값을 아래 입력란에 붙여 넣으세요. 대소문자를 무시하고 자동으로 비교한 뒤 어떤 결과와 일치하는지 알려줍니다.

주요 사용 사례

  • 다운로드 검증 — ISO, 설치 파일, 릴리스 아카이브가 프로젝트가 공개한 SHA-256과 일치하는지 확인.
  • 빌드 산출물 무결성 — CI 아티팩트, S3, 기업 프록시를 거치며 변형되지 않았는지 확인.
  • 기기 간 동일성 확인 — 두 사본이 바이트 단위로 같은지 빠르게 판별.
  • 레거시 호환 — 많은 배포판이 MD5 / SHA-1을 함께 공개합니다. 본 도구는 한 번에 전부 계산.

해시는 어떻게 계산되나

전부 로컬에서 처리합니다. File.arrayBuffer()로 파일을 단일 ArrayBuffer로 읽은 뒤, SHA-1 / SHA-256 / SHA-384 / SHA-512는 crypto.subtle.digest()를 통해 브라우저의 네이티브 암호 구현(대개 하드웨어 가속 포함)으로 계산합니다. MD5는 Web Crypto에 없으므로 페이지에 동봉된 퍼블릭 도메인 MD5 루틴이 같은 바이트 배열에서 직접 동작합니다. 최종 16진 해시는 결과 행에 바로 렌더링되며 어떤 서버로도 전송되지 않습니다.

SHA-256 vs 레거시 알고리즘

SHA-256을 기본으로 둔 이유가 있습니다. SHA-2 계열은 실용적 충돌 공격이 알려져 있지 않고, 현대 툴체인(rustup, cargo, npm, Docker Registry, GitHub Releases, 리눅스 미러)이 모두 SHA-256을 공개 기준으로 삼습니다. SHA-1은 2017년 SHAttered 공격으로 충돌 가능성이 입증됐고, MD5 충돌은 이미 일상화됐습니다. 배포자가 MD5 / SHA-1만 제공한다면 “다운로드가 깨지지 않았는지” 의 힌트로만 활용하고, 진위 보증은 별도 수단으로 확인하세요.

설계 경계

본 도구는 단일 파일을 한 번에 해싱하는 데 집중합니다. 스트리밍이나 서명 검증, GPG / PGP 키 처리, 외부 통신을 일절 수행하지 않습니다. 거대한 아카이브는 명령줄을 사용하세요: sha256sum(Linux), shasum -a 256(macOS), certutil -hashfile(Windows). 진위 검증에는 배포자의 서명 키와 gpg —verify 또는 cosign verify를 조합하는 것이 정공법입니다.

FAQ

어떤 해시 알고리즘을 지원하나요?

SHA-1, SHA-256, SHA-384, SHA-512는 브라우저의 Web Crypto API로 계산하고, MD5는 페이지에 함께 포함된 퍼블릭 도메인 JavaScript 구현으로 계산합니다. 기본값은 SHA-256이며 새 검증 흐름에서도 SHA-256을 권장합니다.

MD5와 SHA-1을 아직 안전하게 써도 되나요?

암호학적 보안 측면에서는 안전하지 않습니다. 두 알고리즘 모두 실용적인 충돌 공격이 알려져 있습니다. 다만 배포자가 MD5나 SHA-1을 함께 공개하는 경우 "파일이 깨졌는지 확인"하는 용도로는 여전히 유용합니다. "진위 증명"이 아니라 "다운로드 무결성 힌트"로 다루고, 선택지가 있을 때는 SHA-256을 우선하세요.

파일이 어딘가로 업로드되나요?

아니요. 파일은 ArrayBuffer로 브라우저에 읽힌 뒤 로컬에서 계산됩니다. SHA 계열은 브라우저의 네이티브 암호 모듈, MD5는 페이지 내부 인라인 JavaScript 루틴이 처리합니다. 빌드 산출물, 서명 패키지, 기밀 다운로드에도 안전하게 사용할 수 있습니다.

실용적인 파일 크기 한계는?

약 1 GB 이하를 권장합니다. 브라우저는 단일 ArrayBuffer를 약 2 GB 부근까지만 할당할 수 있으며, 그 이상은 기기 메모리에 좌우됩니다. TB 규모 아카이브는 명령줄을 권장합니다: Linux는 sha256sum, macOS는 shasum -a 256, Windows는 certutil -hashfile <file> SHA256.

왜 큰 파일에서 MD5가 눈에 띄게 느린가요?

SHA-1 / 256 / 384 / 512는 브라우저의 네이티브 암호 모듈에서 실행되며 보통 하드웨어 가속이 적용됩니다. 반면 MD5는 Web Crypto가 구현하지 않아 본 도구에서는 순수 JavaScript로 계산합니다. 약 100 MB가 넘으면 차이가 분명히 드러납니다. 알고리즘을 하나만 선택해야 한다면 SHA-256을 고르세요.