홈 › 개발·웹 도구

해시 계산·파일 체크섬

내려받은 프로그램·ISO 파일이 원본과 같은지 확인할 때, 배포처에 적힌 SHA-256 값을 ‘비교할 값’에 붙여넣으세요.

파일은 서버로 전송되지 않고 내 기기에서만 처리돼요
계산할 방식

해시값으로 파일이 같은지 확인하기

해시(hash)는 파일이나 글자 전체를 정해진 계산식에 넣어 만든 짧은 ‘지문’이에요. 원본이 1바이트만 달라져도 결과가 완전히 달라지기 때문에, 내려받은 프로그램·운영체제 이미지(ISO)·백업 파일이 원본과 똑같은지 확인할 때 써요. 배포 사이트에 적힌 SHA-256 값과 내 파일의 값이 같으면 중간에 깨지거나 바뀌지 않은 거예요.

쓰는 방법

‘파일’ 탭에서 파일을 놓으면(여러 개 가능) 고른 방식의 값을 모두 한 번에 계산해요. 파일을 4MB씩 나눠 읽으며 계산하므로 수 GB 파일도 메모리를 많이 쓰지 않고 처리하고, 진행률이 보여요. ‘비교할 값’에 받은 체크섬을 붙여넣으면 같은 값을 파란색으로 표시하고 ‘일치해요’라고 알려 줘요. 대문자·소문자, 앞뒤 빈칸, ‘값 파일이름’ 형식, Base64로 적힌 값도 알아서 맞춰 비교해요. ‘체크섬 파일 저장’은 리눅스 sha256sum -c로 검사할 수 있는 형식(값, 빈칸 2개, 파일 이름)으로 저장해요.

‘글자’ 탭은 입력한 글자를 UTF-8 바이트로 바꿔 계산해요. 파이썬 hashlib.sha256('홍라이프'.encode()).hexdigest(), 리눅스 printf '홍라이프' | sha256sum과 같은 값이 나와요. echo는 끝에 줄바꿈을 붙이므로 값이 달라지는 점에 주의하세요. 16진수나 Base64로 된 바이트를 그대로 계산할 수도 있어요.

어떤 방식을 써야 하나요

무결성 확인과 보안 용도에는 SHA-256 이상(SHA-384, SHA-512, SHA3)을 쓰세요. MD5와 SHA-1은 일부러 같은 값을 갖는 다른 파일을 만드는 공격(충돌)이 알려져 있어서 위조 방지에는 알맞지 않고, 우연한 손상 확인이나 옛 시스템 호환용으로만 쓰는 게 좋아요. CRC-32와 Adler-32는 압축 파일·통신에서 쓰는 짧은 오류 검출 값이라 보안 기능은 없어요. 비밀번호 저장에는 해시 하나만 쓰지 말고 bcrypt·scrypt·Argon2 같은 전용 방식을 써야 해요.

계산은 브라우저 안에서 WebAssembly로 빠르게 이뤄지고(hash-wasm, MIT 라이선스), 파일 내용은 어디에도 전송되지 않아요. 결과 값은 파이썬 hashlib·zlib으로 검증했어요.

참고한 자료

자주 묻는 질문

같은 파일인데 값이 달라요.

방식(MD5·SHA-1·SHA-256)이 같은지, 배포처 값이 압축 전 파일 기준인지 확인하세요. 글자라면 줄바꿈(LF/CRLF)이나 끝의 줄바꿈 하나로도 값이 달라져요.

큰 파일도 되나요?

네. 조금씩 나눠 읽어서 수 GB도 계산해요. 속도는 기기 성능에 따라 초당 수백 MB 정도예요.

해시값으로 원래 내용을 알아낼 수 있나요?

아니요. 해시는 한 방향 계산이라 되돌릴 수 없어요. 다만 짧은 비밀번호는 미리 계산한 표로 맞힐 수 있어서 비밀번호 보관용으로는 부족해요.

함께 쓰면 좋은 도구