GrepBoardTools GrepBoard 매뉴얼 ↗ Log ↗

Tools / 텍스트·인코딩

해시 · HMAC 계산

글을 넣거나 파일을 고르고, 공식 체크섬을 붙여 넣으면 같은지 보여 줍니다 — sha256sum 처럼.

입력한 값은 브라우저 안에서만 계산하고 서버로 보내지 않습니다.

🔒 텍스트와 파일은 이 브라우저 안에서만 읽습니다 — 어디에도 올리지 않습니다.

무엇을 하나

글을 UTF-8 바이트로 바꾸거나 고른 파일을 브라우저 안에서 그대로 읽어 MD5 · SHA-1 · SHA-256 · SHA-384 · SHA-512 를 한 번에 계산합니다. 키를 넣으면 같은 다섯 알고리즘의 HMAC(RFC 2104)도 계산합니다. 파일은 4 MiB 씩 나눠 읽으며 어디에도 올리지 않습니다.

sha256sum 꼴 복사는 <해시> <이름>(공백 두 칸) 한 줄을 만듭니다 — 이 줄을 SHA256SUMS 같은 파일에 넣으면 sha256sum -c 가 그대로 읽습니다. 글 입력의 이름은 표준 입력처럼 - 입니다.

예시

넣은 것결과
hello → SHA-2562cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
hello + 끝 줄바꿈(echo hello) → SHA-2565891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03
hello → SHA-256 Base64LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=
빈 글 → MD5d41d8cd98f00b204e9800998ecf8427e
a↵b LF / CRLF → SHA-2567e18f737… / 18745f36… — 줄바꿈 한 글자가 다르면 전혀 다른 해시
The quick brown fox jumps over the lazy dog, 키 key → HMAC-SHA256f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8

내려받은 파일 확인하기

  1. 배포처의 공식 체크섬(보통 SHA256SUMS 나 내려받기 화면의 긴 16진수)을 찾습니다.
  2. 파일 탭에서 내려받은 파일을 고릅니다.
  3. 아래 「공식 체크섬과 비교」에 그 파일의 줄이나 16진수를 붙여 넣습니다. 길이로 알고리즘을 정하고(64자 = SHA-256) 같음 / 다름을 보입니다. SHA256 (파일) = … 같은 BSD 꼴도 읽습니다. 길이가 어느 알고리즘과도 맞지 않으면 짐작하지 않고 「확인 불가」로 둡니다.

체크섬은 파일이 손상되지 않았는지를 보여 줄 뿐, 체크섬 파일 자체를 같은 곳에서 받았다면 배포처를 증명하지는 못합니다. 배포처가 서명(GPG 등)을 함께 내면 서명도 확인합니다.

어떻게 확인했나

공개 전에 실제 md5sum · sha1sum · sha256sum · sha384sum · sha512sum(GNU coreutils)과 openssl dgst -hmac(OpenSSL 3.0)으로 대조해 모두 같았습니다: 글 40개(빈 글 · 한글 · 이모지 · CRLF/LF · 끝 줄바꿈 · 블록 경계 55/56/64/111/112/128바이트 · 약 1 MiB 큰 입력) × 해시 5 · Base64 5 · HMAC 5(글 키 · 한글 키 · 블록보다 긴 키 · 16진 키), 파일 10개(0바이트 ~ 9 MiB, 나눠 읽는 크기를 바꿔 가며) × 해시 5 · HMAC-SHA256 · sha256sum 출력 줄과 글자까지 같은지 · sha256sum -c 가 그 줄을 읽는지.

흔한 실수

  • echo "abc" | sha256sum 으로 비교하기 — echo 는 끝에 줄바꿈을 붙입니다. 같은 값을 보려면 printf '%s' "abc" 나 echo -n 을 쓰거나, 여기서 「끝에 줄바꿈 붙이기」를 켭니다.
  • 윈도에서 만든 글과 리눅스 글의 해시가 다르다고 놀라기 — CRLF 와 LF 는 다른 바이트입니다. 줄바꿈을 골라 맞춰 봅니다.
  • 비밀번호를 MD5 · SHA-256 으로 저장하기 — 빠른 해시는 비밀번호 저장용이 아닙니다. Argon2 · bcrypt · scrypt 같은 전용 함수를 씁니다.
  • MD5 · SHA-1 을 위조 방지에 쓰기 — 충돌을 만들 수 있다고 알려져 있습니다(RFC 6151 · NIST SP 800-131A). 우연한 손상 확인용으로만 씁니다.

자주 묻는 것

파일이 서버로 올라가나요?

아니요. 파일은 브라우저의 File API 로 이 컴퓨터 안에서만 읽고, 계산도 이 페이지 안의 스크립트가 합니다. 글 · 키 · 파일 이름은 주소창이나 브라우저 저장소에 쓰지 않고, 이 사이트의 방문 통계와 광고에도 넘기지 않습니다. 자세한 것은 개인정보 처리 안내에 있습니다.

큰 파일도 되나요?

4 MiB 씩 나눠 읽으므로 메모리를 한꺼번에 쓰지 않습니다. 속도는 기기에 따라 다르며, 다섯 알고리즘을 함께 계산하므로 수 GB 파일은 몇 분 걸릴 수 있습니다. 그럴 때는 명령줄의 sha256sum 파일 이 더 빠릅니다.

HMAC 키를 16진수로 넣으려면?

키 옆에서 「키 = 16진」을 고릅니다. openssl dgst -sha256 -mac HMAC -macopt hexkey:<16진> 과 같은 결과입니다. 글 키는 UTF-8 바이트로 바꿔 쓰며 openssl dgst -sha256 -hmac '<키>' 와 같습니다.