Command Palette

Search for a command to run...

HMAC

HMAC 생성기

HMAC-SHA-256/512 서명을 로컬에서 생성하고 검증합니다.

입력
Web Crypto API로 HMAC을 계산합니다.

모든 계산은 브라우저 로컬에서 수행됩니다.

결과
서명 값과 검증 결과를 확인합니다.

생성 버튼을 누르면 서명이 표시됩니다.

주의: 이 도구는 키를 저장하지 않지만 화면 노출과 클립보드 사용에 유의하세요.

What

HMAC 생성기 정의

HMAC은 비밀 키와 해시 함수를 결합해 메시지 무결성과 인증을 검증하는 방식입니다.

Cases

대표 활용 사례

1

Webhook 서명 생성 및 재현

2

API 요청 서명 디버깅

3

서명 문자열 비교 검증

How To

HMAC 서명을 생성하는 방법

메시지와 비밀키로 서명을 만들고 비교하는 단계입니다.

1

메시지/비밀키 입력

서명할 메시지와 비밀키를 입력합니다.

2

알고리즘/인코딩 선택

SHA-256 또는 SHA-512, secret/output 인코딩을 선택합니다.

3

생성 및 검증

생성된 서명을 확인하고 expected signature와 비교합니다.

Knowledge

HMAC 이해하기

HMAC의 목적
HMAC은 메시지가 변조되지 않았고, 공유된 키를 아는 주체가 만들었는지 확인하는 데 사용됩니다.
구성 요소
비밀 키와 해시 함수(SHA-256/512)를 조합해 고정 길이 인증 코드를 생성합니다.
서명 비교
검증 시에는 일반 문자열 비교보다 타이밍 공격을 줄이는 고정시간 비교가 권장됩니다.
인코딩 주의점
같은 바이트라도 hex/base64/base64url 표현이 달라 비교 실패가 생길 수 있습니다.
운영 팁
키 회전 정책, 짧은 유효 시간, 재전송 방지 nonce를 함께 적용하면 보안이 강화됩니다.

FAQ

HMAC 생성기 FAQ

HMAC과 일반 해시의 차이는 무엇인가요?
HMAC은 비밀키를 사용하므로 키를 모르면 같은 서명을 만들 수 없습니다.
어떤 알고리즘을 선택해야 하나요?
대부분 SHA-256이면 충분하고, 정책상 더 긴 다이제스트가 필요하면 SHA-512를 사용합니다.
출력 인코딩은 언제 바꾸나요?
서비스 요구사항에 따라 hex, base64, base64url 중 맞는 형식을 선택합니다.
검증은 어떻게 동작하나요?
생성 결과와 expected signature를 길이 확인 후 고정시간 비교 루프로 비교합니다.
secret을 base64로 입력할 수 있나요?
네. secret 인코딩을 Base64로 선택하면 디코딩 후 키로 사용합니다.
입력값이 서버로 전송되나요?
아니요. 브라우저 내에서만 처리합니다.
왜 expected signature가 invalid로 나오나요?
선택한 출력 인코딩과 다른 형식으로 값을 넣으면 파싱 실패가 발생합니다.
이 도구로 표준 벡터 검증도 가능한가요?
네. 메시지/키/인코딩을 정확히 맞추면 RFC 테스트 벡터 확인에 활용할 수 있습니다.
HMAC 생성기