MYMONDAY.ai
서비스스튜디오도구데이터·포맷73CSS 생성기19색상·이미지10인코딩·보안10웹·SEO11개발·데브옵스10파일·내보내기18계산기6가이드

해시 생성기·체크섬 검증

텍스트와 파일을 SHA-256, SHA-1, SHA-384, SHA-512, MD5로 해시하고 배포처의 체크섬과 대조합니다.

  • 브라우저에서 처리
  • 가입 없음
  • 무료

도구 작업 공간

예제
입력
줄바꿈 방식

해시만, sha256:<해시>, 또는 “<해시> file.iso” 같은 sha256sum 출력을 받습니다.

체크섬을 붙여넣으면 비교합니다

해시 값

텍스트를 입력하거나 파일을 선택하면 해시가 나타납니다.

MD5와 SHA-1은 의도적으로 위조할 수 있습니다. 사이트가 아직 게시하는 체크섬을 확인할 때만 쓰고, 보안 목적에는 쓰지 마세요.

해시 생성기는 같은 입력에 대해 SHA-256, SHA-1, SHA-384, SHA-512, MD5 다섯 가지 다이제스트를 한꺼번에 계산합니다. 입력은 상자에 입력한 텍스트(UTF-8로 해시)이거나 디스크의 파일입니다. 배포처가 알려 준 체크섬을 붙여넣으면 큰 배지가 일치 또는 불일치를 알려 주며, 다운로드 페이지에 SHA256: ba7816bf... 같은 줄이 붙은 설치 파일, ISO 이미지, 펌웨어, 압축 파일을 확인하는 흔한 용도에 맞춘 기능입니다.

SHA 계열은 브라우저의 Web Crypto API로 계산합니다. Web Crypto에는 MD5가 없어서 MD5는 페이지 안의 코드로 계산하며, 레거시이고 보안용이 아니라는 표시가 붙습니다. 사이트가 아직 게시하는 체크섬을 확인하기 위한 용도입니다. 파일은 64MiB, 텍스트는 1MiB까지 받습니다. 이 도구가 업로드하는 것은 없고, 텍스트, 파일, 기대 값은 링크에도 담기지 않습니다.

기대 체크섬 상자는 16진수, Base64, Base64URL 다이제스트를 받습니다. sha256: 라벨, sha256-<base64> 같은 SRI 값, SHA256SUMS 파일 전체, <hash> file.iso 같은 sha256sum 한 줄, BSD 형식의 SHA256 (file.iso) = <hash>도 이해합니다. 체크섬이 일치하면 내가 가진 바이트가 배포처가 해시한 바이트와 같다는 뜻이지, 배포처가 정직하다는 증명은 아닙니다. 그래서 체크섬은 다운로드와 다른 경로에서 얻는 편이 좋습니다.

사용 방법

  1. 텍스트 또는 파일 선택

    텍스트를 입력하거나 붙여넣거나, 파일로 전환해 파일을 놓습니다. 텍스트 모드에서는 해시하기 전에 모든 줄바꿈을 통일할 LF 또는 CRLF를 고릅니다. 텍스트는 입력하는 동안, 파일은 읽은 뒤에 해시가 나타납니다. 64MiB를 넘는 파일은 메시지와 함께 거부되고 텍스트는 1MiB까지입니다.

  2. 기대 체크섬 붙여넣기(선택)

    16진수, Base64, Base64URL, sha256:<해시>, SRI, sha256sum 한 줄, BSD 형식 줄을 붙여넣습니다. 파일 모드에서 여러 줄의 SHA256SUMS를 넣으면 업로드한 파일의 기본 이름과 일치하는 줄을 고르며, 이름 앞의 *는 무시합니다. 일치하는 이름이 없으면 파일명 없는 첫 줄, 그다음 첫 번째 유효한 해시 줄을 씁니다. 텍스트 모드는 첫 번째 유효한 해시 줄을 씁니다. 주석처럼 해시가 아닌 줄은 건너뜁니다.

  3. 판정 확인

    기대 값이 있으면 배지가 일치 또는 불일치를 알려 주고 비교한 알고리즘 이름을 표시하며, 목록에서 해당 행이 강조됩니다. 디코딩한 다이제스트 길이가 지원 알고리즘에 맞지 않거나 인식할 수 없는 값이면 배지가 문제를 설명합니다.

  4. 다이제스트 복사

    각 행에 복사 버튼이 있습니다. 대문자 스위치는 16진수 표기만 바꾸며 값이나 비교 결과에는 영향이 없습니다.

작동 원리

SHA-2란 무엇인가 (FIPS 180-4)

SHA-256, SHA-384, SHA-512는 NIST FIPS 180-4에 규정된 SHA-2 계열이고, SHA-1도 같은 문서에 규정되어 있습니다. 해시 함수는 어떤 길이의 입력이든 고정 크기 값으로 바꾸어 16진수로 표기합니다. 입력의 비트 하나만 바뀌어도 출력 비트의 절반 정도가 바뀌고, 같은 SHA-2 다이제스트를 내는 서로 다른 두 입력을 찾거나 해시에서 입력을 복원하는 실용적인 방법은 알려져 있지 않습니다.

이 도구는 Web Crypto API의 crypto.subtle.digest를 호출하며, 이 API는 HTTPS 페이지와 localhost 같은 보안 컨텍스트에서만 쓸 수 있습니다.

알고리즘16진수 길이충돌 상태보안 용도
MD532깨짐사용 불가
SHA-140실질적으로 깨짐사용 불가
SHA-25664알려진 실용 공격 없음가능(무결성 확인)
SHA-38496알려진 실용 공격 없음가능
SHA-512128알려진 실용 공격 없음가능

MD5와 SHA-1에 레거시 표시를 붙이는 이유

MD5(RFC 1321)와 SHA-1은 충돌 저항성 면에서 암호학적으로 깨졌습니다. MD5는 2004년부터, SHA-1은 2017년 SHAttered 공격으로 실제 충돌이 입증되었습니다. 공격자가 공개된 해시와 일치하는 파일을 만들 수 있는 상황에서는 둘 다 안전하지 않습니다. 많은 사이트가 여전히 다운로드 옆에 이 값을 게시하고 실수로 인한 손상은 여전히 잡아내므로 도구가 제공하지만, 보안을 보장하는 것은 아닙니다. 배포처가 MD5나 SHA-1만 제공한다면 전송 오류를 막는 확인으로만 보세요.

무결성은 진본성이 아니며 비밀번호 저장용도 아님

같은 서버에 있는 값과 비교하는 체크섬은 손상만 감지합니다. 공격자가 파일을 바꿀 수 있다면 옆의 체크섬도 바꿀 수 있습니다. 진본성은 서명이나, 별도의 신뢰할 수 있는 경로로 받은 체크섬이 보증합니다. 또한 빠른 일반 해시는 비밀번호 저장에 맞지 않으므로, Argon2, scrypt, bcrypt처럼 느리고 솔트를 쓰는 비밀번호 해시 함수를 쓰세요.

실제 예시

텍스트를 다섯 가지로 해시
입력
텍스트: hello
출력
SHA-256  2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
SHA-1    aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
MD5      5d41402abc4b2a76b9719d911017c592

텍스트는 UTF-8 바이트로 해시되므로 다섯 글자는 5바이트입니다. 도구에는 SHA-384와 SHA-512도 함께 표시되고 MD5에는 레거시 표시가 붙습니다.

SHA256SUMS에서 파일 선택
입력
파일: C:\downloads\hello.txt
기대 값:
# release checksums
0000000000000000000000000000000000000000000000000000000000000000  other.iso
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 *hello.txt
출력
일치 (SHA-256)
체크섬 파일명: hello.txt

여기서 hello.txt는 끝 개행 없이 UTF-8 hello만 담은 파일입니다. 주석은 건너뛰고 첫 해시 줄보다 기본 이름이 일치하는 줄을 우선합니다. 이름 앞의 *는 바이너리 모드 표시이므로 이름을 맞출 때 무시합니다.

한 글자 차이
입력
텍스트: hello
기대 값: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9820
출력
불일치 (SHA-256)

마지막 글자만 달라도 불일치입니다. 부분 일치라는 것은 없습니다.

SRI Base64 다이제스트
입력
텍스트: hello
기대 값: sha256-LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=
출력
일치 (SHA-256)

sha256- SRI 접두사가 SHA-256을 선택하고 Base64 다이제스트를 디코딩한 뒤 비교합니다. 패딩 유무와 관계없이 Base64와 Base64URL 다이제스트만 붙여넣어도 됩니다.

길이가 맞지 않는 값
입력
텍스트: hello
기대 값: abcdef12
출력
MD5, SHA-1, SHA-256, SHA-384, SHA-512 해시의 길이가 아닙니다.

8자는 어떤 알고리즘에도 맞지 않아 비교하지 않고 판정도 내리지 않습니다.

빈 입력
입력
텍스트: (비어 있음)
출력
SHA-256  e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SHA-1    da39a3ee5e6b4b0d3255bfef95601890afd80709

잘 알려진 0바이트의 다이제스트입니다. 다운로드가 실패해 0바이트 파일이 남았다면 정확히 이 값이 나옵니다.

자주 하는 실수

  • 텍스트 줄바꿈을 맞춰야 함

    텍스트는 기존 줄바꿈을 선택한 LF 또는 CRLF로 통일한 뒤 UTF-8로 해시합니다. 일반적인 Windows 텍스트 파일을 재현하려면 CRLF, Unix 방식이면 LF를 고르세요. 이 선택은 끝 개행을 추가하거나 지우지 않습니다. 파일 모드는 파일 바이트를 그대로 해시합니다.

  • 다운로드와 같은 페이지에서 체크섬 복사

    페이지가 침해되면 둘 다 바뀔 수 있습니다. 서명된 릴리스 노트, 패키지 관리자, 또 다른 경로에서 얻은 체크섬을 권합니다.

  • MD5나 SHA-1을 보안용으로 신뢰

    MD5나 SHA-1이 일치해도 의도적으로 만든 파일은 막지 못합니다. 배포처가 이 값만 게시한다면 변조가 아니라 사고로 인한 손상만 확인하는 것입니다.

  • 64MiB가 넘는 파일

    파일 전체를 한 번에 메모리로 읽으므로 더 큰 파일은 거부됩니다. ISO나 디스크 이미지는 sha256sum, shasum -a 256, Get-FileHash를 쓰세요.

  • 다른 알고리즘의 해시와 비교

    64자 값 앞에 sha1: 같은 라벨이 붙으면 서로 모순되며 도구가 이를 알려 줍니다. 라벨이 없으면 디코딩한 다이제스트 길이로 정하므로 SHA-512 값은 SHA-512 행과만 비교되고 SHA-256과는 비교되지 않습니다.

자주 묻는 질문

파일이나 텍스트가 업로드되나요?

아니요. 텍스트나 파일은 브라우저 안에서 읽고 해시하며 이 도구가 업로드하지 않습니다. 페이지에는 파일의 이름과 크기만 표시되고, 입력은 링크에 담기지 않습니다.

어떤 해시 알고리즘을 지원하나요?

Web Crypto API를 통한 SHA-256, SHA-1, SHA-384, SHA-512와, 레거시 체크섬 확인용 MD5입니다. MD5에는 보안용이 아니라는 표시가 붙습니다.

명령줄에서 체크섬은 어떻게 확인하나요?

리눅스는 sha256sum file, macOS는 shasum -a 256 file, Windows PowerShell은 Get-FileHash file -Algorithm SHA256을 씁니다. 출력된 줄을 기대 값 상자에 붙여넣으면 여기서 바로 비교할 수 있습니다.

체크섬이 일치하면 파일이 안전하다는 뜻인가요?

체크섬을 게시한 쪽이 해시한 파일과 똑같다는 것만 증명합니다. 그 파일에 악성코드가 없다는 뜻은 아닙니다.

웹사이트의 해시와 내 해시가 다른 이유는 무엇인가요?

다운로드가 불완전했거나, 파일 버전이 다르거나, 파일로 만든 체크섬과 텍스트를 비교한 경우가 흔합니다. 텍스트라면 같은 LF 또는 CRLF 방식을 고르고 끝 개행도 같은지 확인하세요.

크기 제한은 얼마인가요?

파일은 64MiB, 텍스트는 1MiB까지입니다. 해시하는 동안 입력 전체를 메모리에 두기 때문에 더 큰 입력은 거부됩니다.

더 깊이 읽기

마지막 업데이트: