HMAC 생성기 (브라우저에서 HMAC-SHA256)
빠른 HMAC 계산과 서명 확인을 위한 네트워크 없는 HMAC SHA256 생성 페이지입니다.
모든 처리는 브라우저에서 로컬로 실행됩니다. 키와 메시지는 전송되거나 저장되지 않습니다.
사용 방법 (HMAC signature)
- 키를 입력합니다. API 사양이 바이너리 키 바이트를 제공하면 Hex 또는 Base64 입력 형식을 선택하세요.
- 서명할 메시지 페이로드를 입력합니다.
- 출력 형식(Hex / Base64 / Base64URL)을 선택하고 결과를 복사합니다.
예시 (테스트 벡터)
예시 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 요청 서명, 웹훅 검증, 토큰 무결성 확인 등입니다.