본문 바로가기
입력한 내용은 서버로 보내지 않습니다. 브라우저 안에서만 처리하고, 어디에도 저장하지 않습니다.

해시 계산기

글이나 파일의 MD5·SHA-1·SHA-256·SHA-512·SHA-3·CRC32 해시를 한 번에 계산합니다. 내려받은 파일의 체크섬(SHA-256 등)을 붙여 넣으면 일치 여부를 바로 알려 줍니다. 입력한 글과 파일은 서버로 전송되지 않고 브라우저 안에서만 처리합니다.

UTF-8 바이트 기준입니다. 끝에 줄바꿈이 있으면 결과가 달라집니다.
알고리즘

글을 입력하면 해시가 바로 표시됩니다.

파일 해시 · 체크섬 확인

위에서 고른 알고리즘과 "비교할 해시"를 그대로 씁니다.

해시란?

해시(hash)는 아무 길이의 데이터를 정해진 길이의 값으로 바꾸는 계산입니다. 같은 입력은 언제나 같은 결과를 내고, 한 글자만 달라져도 결과가 완전히 달라지며, 결과로부터 원래 데이터를 되돌릴 수는 없습니다(단방향). 그래서 파일이 전송 중에 바뀌거나 손상되지 않았는지 확인하는 체크섬, 두 파일이 같은지 비교, 데이터의 지문(fingerprint)을 남기는 용도로 씁니다. 암호화와 달리 열쇠가 없고 되돌릴 수도 없습니다.

예를 들어 hello의 SHA-256은 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824이고, Hello(대문자 H)는 전혀 다른 값이 나옵니다. 이 도구는 글을 UTF-8 바이트로 바꿔 계산하므로 Python의 hashlib.sha256(s.encode()).hexdigest(), 리눅스 sha256sum과 결과가 같습니다.

알고리즘 비교: 무엇을 쓸까

알고리즘길이안전성주로 쓰는 곳
CRC3232비트 (8자)보안 아님ZIP·PNG 내부 오류 검출, 간단한 전송 오류 확인
MD5128비트 (32자)충돌 발견(2004)오래된 체크섬, 파일 중복 찾기. 보안 용도로는 쓰지 않음
SHA-1160비트 (40자)충돌 발견(2017)Git 커밋 ID(이전 방식), 오래된 인증서. 새로 쓰지 않음
SHA-256256비트 (64자)안전기본 선택. 내려받기 체크섬, TLS 인증서, 비트코인, 코드 서명
SHA-224 · SHA-384224·384비트안전SHA-256·SHA-512의 짧은 변형. 특정 규격이 요구할 때
SHA-512512비트 (128자)안전64비트 환경에서 SHA-256보다 빠른 경우가 많음. 리눅스 배포판 ISO 체크섬
SHA3-256 · SHA3-512256·512비트안전SHA-2와 구조가 다른 최신 표준(Keccak). SHA-2가 깨질 때의 대안, 이더리움 계열

"SHA-1024"라는 표준 알고리즘은 없습니다. SHA-2 계열은 512비트가 가장 길고, 더 긴 출력이 필요하면 SHA3-512나 SHAKE 같은 가변 길이 함수를 씁니다. MD5·SHA-1은 서로 다른 두 파일이 같은 해시를 갖게 만들 수 있다는 것이 증명됐으므로, 변조 여부를 따지는 보안 용도에는 SHA-256 이상을 쓰세요. 단순히 전송 중 손상만 확인하는 데는 MD5도 여전히 충분합니다.

내려받은 파일 검증하는 법

공식 사이트는 보통 설치 파일 옆에 SHA-256 체크섬을 적어 둡니다. 내려받은 파일을 위의 파일 칸에 넣고, 그 체크섬을 "비교할 해시"에 붙여 넣으면 일치 여부가 표시됩니다. sha256sum 출력처럼 해시 뒤에 파일 이름이 붙어 있거나 sha256: 접두어가 있어도 됩니다. 명령줄로 직접 확인하려면:

환경명령
Windows (PowerShell)Get-FileHash 파일명 -Algorithm SHA256
Windows (명령 프롬프트)certutil -hashfile 파일명 SHA256
macOSshasum -a 256 파일명
Linuxsha256sum 파일명 (MD5는 md5sum)
Pythonhashlib.sha256(open("파일명","rb").read()).hexdigest()

체크섬이 같으면 내려받는 동안 바뀌지 않은 것입니다. 단, 체크섬을 적어 둔 페이지 자체가 변조됐을 가능성까지 막으려면 GPG 서명을 함께 확인해야 합니다.

비밀번호 저장에 쓰면 안 되는 이유

MD5·SHA-256은 빠르게 계산되도록 만든 함수라, 유출된 해시로부터 흔한 비밀번호를 초당 수십억 번 대입해 찾아낼 수 있습니다. 비밀번호는 일부러 느리게 설계된 bcrypt·scrypt·Argon2에 무작위 salt를 더해 저장해야 합니다. 이 도구는 파일 검증과 데이터 비교용이며, 해시 하나로 비밀번호를 "암호화"했다고 생각하면 안 됩니다. 여기에 입력한 내용은 서버로 전송되지 않지만, 실제 비밀번호를 넣어 볼 이유도 없습니다.

자주 묻는 질문

입력한 글이나 파일이 서버로 전송되나요?

아니요. 해시 계산은 전부 브라우저 안에서(WebAssembly) 이뤄지고, 글과 파일은 서버로 보내거나 저장하지 않습니다. 수 GB 파일도 메모리에 다 올리지 않고 4MB씩 읽어 계산합니다.

같은 글인데 다른 사이트와 결과가 달라요.

끝에 붙은 줄바꿈이나 공백, 문자 인코딩 차이입니다. echo hello | sha256sum은 줄바꿈이 포함된 hello\n의 해시라 이 도구의 hello와 다릅니다 (echo -n을 쓰세요). 한글은 UTF-8 기준이며 EUC-KR로 저장된 파일은 바이트가 달라 결과도 다릅니다.

비교할 해시의 알고리즘을 고르지 않았는데 비교돼요.

붙여 넣은 해시의 길이(32자 MD5, 40자 SHA-1, 64자 SHA-256·SHA3-256, 128자 SHA-512·SHA3-512 …)로 알고리즘을 짐작해 자동으로 함께 계산합니다. 대소문자는 구분하지 않습니다.

HMAC이나 비밀번호 해시(bcrypt)도 되나요?

아니요. 이 도구는 열쇠 없는 해시만 계산합니다. 결과를 Base64로 바꿔야 한다면 Base64 인코더에 16진수 대신 원문을 넣지 말고, JSON 응답의 해시 값을 확인할 때는 JSON 포맷터로 정리해 보세요.

출처