브라우저에서 다운로드 파일의 SHA-256 체크섬 확인하는 방법
체크섬은 파일 내용으로 계산한 짧은 지문이에요. 내려받은 파일의 해시를 구했을 때 배포자가 적어 둔 값과 같다면, 파일은 배포자가 해시를 구한 것과 바이트 단위로 똑같아요. 비트 하나라도 다르면 지문이 완전히 달라져요. 해시 생성기에 파일을 끌어다 놓고 공개된 값을 붙여 넣으면, 도구가 어떤 알고리즘과 일치하는지 보여 줘요.
해시 생성기다운로드한 파일이 원본과 같을까요?무료로 사용하기체크섬이 증명하는 것
체크섬은 변경을 찾아내요. 중간에 끊긴 다운로드, 불안정한 연결이나 고장 나는 디스크로 손상된 파일, 원본과 다른 빌드를 내보내는 미러 서버를 잡아내요. 이런 오류는 흔하고, 해시가 일치하면 이런 문제가 없다는 뜻이에요.
하지만 배포자가 믿을 만하다는 것까지 증명하지는 않아요. 공격자가 다운로드 페이지의 파일을 바꾸고, 그 옆에 적힌 해시도 함께 고칠 수 있다고 해 봐요. 두 값이 일치하니 검사는 통과해요. 체크섬은 해시를 얻은 곳만큼만 믿을 수 있어요. 의미 있는 검사를 하려면 해시가 파일과 다른 경로로 와야 해요. 서명된 릴리스 공지, GPG 서명이 붙은 체크섬 파일, 패키지 관리자의 기록, 주소를 직접 입력해 들어간 배포자 사이트 같은 곳이요. 파일과 같은 링크에서 해시를 복사해 오면, 끈질긴 공격자 앞에서는 거의 보탬이 되지 않아요.
해시가 일치한다고 프로그램이 무엇을 하는지도 알 수 없어요. 배포자가 해시를 구한 그 파일을 가지고 있다는 것만 확인해요. 그 파일이 안전한지는 배포자에 대한 문제이고, 서명, 출처의 평판, 프로젝트가 직접 하는 검증 절차가 있다면 그것으로 답이 나와요.
배포자가 해시를 적어 두는 곳
먼저 다운로드 버튼 근처를 보세요. 많은 프로젝트가 다운로드 페이지에 SHA-256 값을 적어 둬요. 규모가 큰 프로젝트는 보통 SHA256SUMS 같은 이름의 파일을 따로 제공해요. 내려받는 파일마다 한 줄씩 있고, 옆에 서명 파일이 함께 있기도 해요. 일부 소프트웨어 플랫폼은 해시를 자체 메타데이터에 담아 두기도 해요. README와 릴리스 노트도 흔히 찾는 곳이에요.
알고리즘 이름도 읽어 보세요. SHA-256이라고 적힌 줄에는 SHA-256 해시를 써야 하고, 이는 16진수 문자 64개예요. 32자짜리 값은 MD5이고, 40자짜리 값은 SHA-1이에요. 도구도 어떤 값을 비교하는지 알아야 하고, 여러분도 알아야 해요.
해시를 네 단계로 비교하기
- 공식 페이지에서 파일을 한 번 내려받아요.
- 해시 생성기를 열고 파일을 선택한 뒤 파일을 끌어다 놓아요. 끝날 때까지 기다리세요. 아주 큰 파일은 시간이 걸릴 수 있고, 브라우저가 메모리에 담을 수 있는 양을 넘을 수도 있어요.
- 공개된 해시를 예상 해시(선택)에 붙여 넣어요. 대소문자와 공백은 무시하므로, 페이지에서 복사한 대문자 값도 그대로 쓸 수 있어요.
- 일치하는지 확인해요. 도구가 어떤 알고리즘과 일치하는지 보여 줘요. 아무 것도 일치하지 않으면 파일을 실행하지 마세요. 다시 내려받으세요. 두 번째 파일도 실패하면 공개된 값과 여러분의 파일이 서로 달라요. 어느 쪽이 맞는지 배포자에게 물어보세요.
터미널을 쓰는 편이라면 같은 검사를 명령 한 줄로 할 수 있어요. 리눅스에서는 파일에 sha256sum을 실행하세요. macOS에서는 shasum -a 256이 같은 일을 해요. Windows PowerShell에서는 파일 경로와 함께 Get-FileHash -Algorithm SHA256을 쓰면 값이 나와요. 출력은 도구가 보여 주는 것과 같은 16진수 문자열이에요.
해시는 공개된 값과 맞춰 보는 용도로만 쓰는 게 아니에요. 손상 검사도 같은 원리로 파일이 깨졌는지 알려 주고, 중복 파일도 해시를 비교해 폴더 안의 같은 복사본을 찾아내요.
입력한 텍스트 해시하기
텍스트 모드는 입력하거나 붙여 넣은 내용을 해시해요. 먼저 텍스트를 UTF-8 바이트로 바꿔요. 텍스트 입력창은 줄바꿈을 LF로 저장하므로, 붙여 넣은 텍스트는 어느 시스템에서 왔든 LF 줄 끝으로 해시돼요. Windows에서 저장한 파일은 보통 각 줄을 CRLF로 끝내서, 바이트가 달라지고 해시도 달라져요. 그러니 배포자가 파일의 해시를 제공했다면 파일 모드를 쓰고 파일 자체를 해시하세요. 두 버전이 정확히 어디서 다른지 보고 싶다면 텍스트 비교 도구가 변경된 부분을 나란히 보여 줘요.
MD5와 SHA-1이 약한 이유
도구에 MD5와 SHA-1이 있는 이유는 아직도 많은 오래된 다운로드 페이지가 이 두 값을 적어 두기 때문이에요. 손상을 찾아내는 용도로는 괜찮아요. 우연히 생긴 변경이 우연히 MD5나 SHA-1 값을 똑같이 맞출 가능성은 극히 낮아요.
하지만 공격자를 상대로는 안전하지 않아요. 충돌이란 서로 다른 두 입력이 같은 해시를 갖는 것을 말해요. 이제 MD5 충돌은 적은 비용으로 만들 수 있으므로, 보안과 관련된 용도에는 MD5를 쓰면 안 돼요. SHA-1 충돌은 2017년에 공개적으로 시연됐고, 이후 브라우저와 인증 기관은 서명에서 SHA-1을 사용하지 않게 됐어요. 배포자가 MD5나 SHA-1만 제공한다면 SHA-256이나 서명된 체크섬 파일을 요청하세요. 누군가 일부러 파일을 바꿀 수도 있는 상황이라면 SHA-256 이상을 쓰세요. 작성 시점에 SHA-256을 실질적으로 깨는 알려진 공격은 없어요. 어떤 것을 고를지는 알고리즘 안내에서 다뤄요.
빠른 답변
해시가 일치하면 파일은 안전한가요? 해시를 구한 바로 그 파일이라는 뜻이에요. 안전한지는 해시를 얻은 곳을 믿을 수 있는지에 달려 있어요.
서로 다른 두 파일이 같은 SHA-256 값을 가질 수 있나요? 실제로는 불가능해요. 작성 시점에 그런 쌍을 찾는 실용적인 방법은 알려져 있지 않아요.
복사해서 붙여 넣었더니 해시가 맞지 않아요. 왜 그럴까요? 먼저 알고리즘이 맞는지 확인하세요. 그다음 문자가 빠지거나 더해졌는지, 복사가 잘렸는지 보세요. 대소문자와 공백은 무시하므로 원인이 아니에요.
AI 도움을 받아 영어 원문에서 번역했어요.
댓글
아직 댓글이 없어요. 첫 댓글을 남겨 보세요.


