it-box

파일 해시 계산

파일의 SHA-256, SHA-384, SHA-512 해시를 브라우저에서 계산합니다.

파일 해시 계산 도구 열기

파일 전체 내용을 SHA-256, SHA-384, SHA-512 중 하나로 해시해 받은 파일이 원본과 같은지 비교합니다.

사용 순서

  1. 파일 선택 칸에서 확인할 파일을 고릅니다. 50MiB를 넘는 파일은 계산하지 않고 거부합니다.
  2. 해시 알고리즘을 고릅니다. 배포처가 제공한 체크섬과 같은 종류를 고르세요.
  3. 계산하기 버튼을 누르면 16진수 해시 문자열이 아래 결과 칸에 표시됩니다.
  4. 결과를 복사해 배포처의 체크섬과 비교합니다.

예시

예제 버튼으로 내용이 abc인 example.txt를 불러와 SHA-256을 계산하면 ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad가 나옵니다.

한계

파일 전체를 메모리에 읽어 한 번에 계산하므로 50MiB를 넘는 파일은 처리하지 않습니다. 해시가 같다는 것은 내용이 같다는 뜻일 뿐, 출처가 믿을 만한지나 악성 코드가 없는지는 알려주지 않습니다. MD5와 SHA-1은 선택 목록에 없습니다.

보안 주의

배포처가 해시를 함께 제공하지 않으면 이 도구의 결과는 비교할 기준이 없습니다. 체크섬과 파일을 같은 경로에서 함께 바꿔치기하는 공격은 막지 못하므로, 공식 발표문 등 다른 경로의 값과 대조하세요.

배경 지식

해시 함수는 입력이 아무리 커도 항상 고정된 길이의 값을 돌려주는 함수입니다. SHA-256은 256비트, 즉 16진수 64자리를 출력합니다. 입력의 한 비트만 바뀌어도 출력이 완전히 달라지기 때문에 두 파일의 해시가 같으면 내용이 같다고 실무에서 판단합니다. 해시 값만으로 원래 내용을 되돌릴 수는 없습니다. 그래서 체크섬은 내용을 숨기는 장치가 아니라, 값이 바뀌었는지 확인하는 장치로 이해해야 정확합니다.

다운로드 페이지에 SHA-256 체크섬이 적혀 있는 이유가 바로 이것입니다. 전송 도중 파일이 깨졌거나 누군가 실행 파일을 바꿔 놓았다면 체크섬이 달라집니다. 다만 체크섬도 같은 공격자가 바꿀 수 있으므로, 전자 서명된 체크섬이나 공식 채널의 값과 대조해야 의미가 있습니다. 여러 곳에서 받은 값이 모두 같다면 한 곳만 바뀐 상황은 더 쉽게 드러납니다. 배포 미러 사이트가 여러 곳이라면 이 비교가 특히 효과적입니다.

자주 묻는 질문

해시 값이 한 글자라도 다르면 어떻게 판단하나요?

다른 파일로 보는 것이 맞습니다. 다운로드 중 일부만 받았거나 줄바꿈 문자가 바뀌어도 해시는 달라집니다. 같은 출처에서 다시 받아 값이 일치하는지 확인하세요.

파일 이름과 크기가 같으면 같은 파일인가요?

이름과 크기는 내용을 보장하지 않습니다. 같은 크기여도 바이트 하나만 달라지면 해시가 달라지므로, 이름 대신 해시 값으로 비교해야 합니다.

어떤 알고리즘을 골라야 하나요?

배포처가 적은 알고리즘을 그대로 고르는 것이 가장 정확합니다. 직접 정해야 한다면 SHA-256이 가장 널리 쓰입니다. SHA-384와 SHA-512는 더 긴 출력이 필요할 때 쓰이며, 비교하는 두 값은 반드시 같은 알고리즘으로 만들어야 합니다.