SHA 해시 — 파일이 바뀌었는지 확인하는 방법 - Tooly 가이드

2026. 03. 14

SHA 해시 — 파일이 바뀌었는지 확인하는 방법

SHA-256과 SHA-512 해시가 파일 무결성 확인에 어떻게 쓰이는지 설명합니다. MD5와 SHA-1을 피해야 하는 이유, 비밀번호 저장에는 bcrypt 같은 전용 알고리즘이 필요한 이유도 정리했습니다.


프로그램 설치 파일을 내려받았는데 배포 페이지에 SHA256 값이 함께 적혀 있을 때가 있습니다. 이 값은 장식이 아니라 파일이 중간에 바뀌지 않았는지 확인하는 지문입니다.

SHA 해시 생성기 바로 사용하기 →

해시는 입력 데이터를 고정 길이 문자열로 바꾸는 함수입니다. 같은 입력은 항상 같은 결과가 나오고, 입력이 1글자만 바뀌어도 결과가 완전히 달라집니다. SHA-256은 256비트, 즉 64자리 16진수 문자열을 만듭니다.

파일 무결성 확인 예시

예를 들어 배포자가 공개한 SHA-256 값과 내가 받은 파일의 값이 같으면, 다운로드 중 손상되거나 다른 파일로 바뀌지 않았다고 볼 수 있습니다. Windows에서는 PowerShell에서 다음처럼 확인할 수 있습니다.

Get-FileHash .\installer.exe -Algorithm SHA256

macOS와 Linux에서는 보통 다음 명령을 씁니다.

shasum -a 256 installer.dmg
sha256sum installer.tar.gz

Tooly 도구는 텍스트 값을 해시할 때 편합니다. 파일 전체 체크섬은 운영체제 명령어가 더 적합하고, 짧은 문자열이나 예시 값을 확인할 때는 웹 도구가 빠릅니다.

MD5와 SHA-1을 피하는 이유

MD5와 SHA-1은 오래 쓰였지만 충돌 공격 문제가 알려져 있습니다. 충돌은 서로 다른 입력이 같은 해시 값을 갖는 상황입니다. 파일 무결성 확인이나 보안 목적이라면 SHA-256 이상을 쓰는 것이 일반적입니다.

알고리즘 현재 용도 주의
MD5 단순 중복 확인 보안 검증에는 부적합
SHA-1 레거시 호환 보안 목적 신규 사용 지양
SHA-256 파일 무결성, 서명 검증 일반적으로 권장
SHA-512 더 긴 출력이 필요한 경우 저장·표시 길이 증가

비밀번호에는 그냥 SHA를 쓰면 안 됩니다

비밀번호 저장은 파일 무결성과 다릅니다. 공격자는 흔한 비밀번호 후보를 빠르게 SHA로 계산해 대조할 수 있습니다. 그래서 비밀번호에는 salt를 붙이고 계산을 일부러 느리게 만드는 bcrypt, Argon2 같은 전용 알고리즘을 씁니다.

한국 사이트 운영자라면 개인정보보호 관점에서도 비밀번호를 평문으로 저장하면 안 됩니다. 해시를 쓰더라도 일반 SHA 한 번으로 끝내는 방식은 부족합니다. 로그인 비밀번호는 전용 비밀번호 해싱 함수로 처리하고, SHA는 파일 검증이나 데이터 지문 용도로 구분해서 쓰는 것이 안전합니다.

관련해서 안전한 비밀번호 자체를 만드는 방법은 비밀번호 보안 가이드를 참고하세요.

따라하기: SHA 해시 만들어 보기

도구 화면은 영어로 표시되지만 손댈 곳은 세 군데뿐입니다.

  1. 맨 위 선택 상자에서 해시 방식을 고릅니다. 처음에는 SHA256에 맞춰져 있고, 더 긴 값이 필요하면 SHA512로 바꿀 수 있습니다. 이 도구에는 이 두 가지만 있습니다. 특별한 이유가 없으면 SHA256을 그대로 두면 됩니다.
  2. 그 아래 Content to Hash(해시할 내용) 칸에 지문을 만들 텍스트를 입력합니다. 예시 값이든 짧은 문장이든 상관없습니다.
  3. Generate Hash(해시 생성) 버튼을 누릅니다. 그러면 바로 아래에 결과 칸이 나타나고, 64자리(SHA512는 128자리) 16진수 문자열이 채워집니다. 옆의 Copy(복사) 버튼으로 값을 복사할 수 있습니다.

같은 글자를 다시 넣으면 항상 같은 값이 나옵니다. 마침표 하나만 바꿔도 결과가 통째로 달라지는지 직접 넣어 보면 해시(hash, 입력을 고정 길이 문자열로 바꾼 값)의 성질이 눈에 들어옵니다.

여기서 막히면

결과 칸이 안 보여요. 이 도구는 해시를 만들기 전에는 결과 칸을 숨겨 둡니다. Content to Hash 칸에 내용을 넣고 Generate Hash 버튼을 눌러야 아래에 결과가 나타납니다.

파일 자체의 값을 확인하고 싶어요. 웹 도구는 입력한 텍스트를 해시합니다. 설치 파일처럼 실제 파일 전체의 체크섬(checksum, 파일이 바뀌지 않았는지 대조하는 검증값)은 위에서 소개한 운영체제 명령어(Get-FileHash, sha256sum)가 더 정확합니다.

MD5나 다른 방식이 필요해요. 이 도구는 SHA256과 SHA512만 지원합니다. MD5 값이 필요하면 MD5 생성기, 여러 해시 방식을 한 화면에서 다루려면 해시 생성기를 쓰세요. 로그인 비밀번호를 저장하는 용도라면 SHA가 아니라 bcrypt 생성기가 맞습니다.

자주 묻는 질문

해시 값만 알면 원래 내용을 되돌릴 수 있나요? 아닙니다. 해시는 한 방향으로만 계산되는 함수라, 결과 값에서 원래 입력을 복원할 수 없습니다. 그래서 파일이나 데이터의 '지문'에 비유합니다.

SHA256과 SHA512 중 뭘 골라야 하나요? 일반적인 파일 검증이나 값 대조에는 SHA256이면 충분합니다. SHA512는 더 긴 출력(128자리)이 필요한 특수한 경우에 씁니다. 둘 다 널리 쓰이는 방식입니다.

같은 내용인데 다른 값이 나와요. 눈에 안 보이는 공백이나 줄바꿈이 섞였을 가능성이 큽니다. 해시는 글자 하나, 공백 하나까지 그대로 반영하므로, 대조하려는 원본과 띄어쓰기·줄바꿈까지 똑같은지 확인해 보세요.

목록