HMAC 생성기 (브라우저에서 HMAC-SHA256)

빠른 HMAC 계산과 서명 확인을 위한 네트워크 없는 HMAC SHA256 생성 페이지입니다.

모든 처리는 브라우저에서 로컬로 실행됩니다. 키와 메시지는 전송되거나 저장되지 않습니다.

로컬 계산 저장 없음 Hex와 Base64
네트워크 전송 없음

사용 방법 (HMAC signature)

  1. 키를 입력합니다. API 사양이 바이너리 키 바이트를 제공하면 Hex 또는 Base64 입력 형식을 선택하세요.
  2. 서명할 메시지 페이로드를 입력합니다.
  3. 출력 형식(Hex / Base64 / Base64URL)을 선택하고 결과를 복사합니다.
HMAC는 화면상 텍스트가 아니라 바이트를 기준으로 동작합니다. UTF-8 인코딩, 줄바꿈 차이, 여분 공백이 있으면 결과가 달라집니다.

예시 (테스트 벡터)

예시 1 (짧은 확인)

입력: Key = secret (UTF-8), Message = message (UTF-8)

HMAC-SHA256 (Hex):
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b

HMAC-SHA256 (Base64):
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=

예시 2 (잘 알려진 문구)

입력: Key = key, Message = The quick brown fox jumps over the lazy dog

Hex:
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8

Base64:
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

자주 걸리는 함정

  • LF와 CRLF 줄바꿈 차이는 서로 다른 서명을 만듭니다.
  • 앞뒤 공백을 제거하면 API 서명 일치가 깨질 수 있습니다.
  • Base64URL은 보통 +를 -, /를 _, = 패딩을 생략한 형식입니다. API 사양을 확인하세요.
  • 키가 Hex/Base64 바이트로 배포되었는데 이를 평문 텍스트로 처리하면 결과가 맞지 않습니다.

FAQ

키가 저장되나요?

아니요. 이 도구는 브라우저에서 계산하며 키/메시지 입력을 어떤 서버로도 전송하지 않습니다.

Base64가 좋나요, Hex가 좋나요?

둘 다 흔하게 쓰입니다. API 사양에 맞춰 Hex / Base64 / Base64URL 출력을 선택할 수 있습니다.

어떤 문자 인코딩(UTF-8)을 사용하나요?

텍스트 입력은 HMAC 계산 전에 UTF-8로 인코딩됩니다. 바이너리 값은 Hex/Base64 입력을 사용하세요.

HMAC와 SHA-256 해시의 차이는 무엇인가요?

SHA-256은 일반 해시입니다. HMAC는 메시지 인증을 위해 비밀 키를 추가합니다.

출력이 일치하지 않습니다. 무엇을 확인해야 하나요?

키 해석(텍스트 vs 바이트), 줄바꿈 처리, 공백 제거, Base64URL 규칙을 확인하세요.

보충 설명

HMAC란?

HMAC는 비밀 키와 해시 함수를 사용하는 keyed-hash 메시지 인증 코드입니다.

SHA-256과의 차이

SHA-256 자체에는 비밀 키가 없습니다. HMAC-SHA256은 공유 키가 필요하며 서명에 사용됩니다.

대표적인 사용 사례

API 요청 서명, 웹훅 검증, 토큰 무결성 확인 등입니다.