> hmac | 인증 | 서명 <
// 비밀 키로 HMAC 메시지 인증 코드 생성
Web Crypto API
브라우저 네이티브 Web Crypto API를 사용하여 안전한 HMAC 생성. 데이터가 브라우저를 떠나지 않습니다.
4가지 해시 알고리즘
HMAC-SHA256, HMAC-SHA1, HMAC-SHA384, HMAC-SHA512 지원. 필요에 맞는 알고리즘을 선택하세요.
로컬 처리
100% 클라이언트 측 처리. 서버 업로드 없음, 데이터 수집 없음, 완전 무료.
// HMAC 정보
HMAC 작동 원리:
HMAC(Hash-based Message Authentication Code)는 RFC 2104에 정의되어 있습니다. 암호화 해시 함수와 비밀 키를 결합하여 메시지 인증 코드를 생성합니다. 내부/외부 패딩(ipad/opad)을 사용합니다.
예시:
HMAC-SHA256("Hello", "secret") → 88aab3ede8d3adf94d26ab90d3bafd4a2083070c3bcce9c014ee04a443847c0b
주요 사용 사례:
- >API 요청 인증 및 서명 검증
- >Webhook 페이로드 검증
- >JSON Web Token(JWT) 서명
- >메시지 무결성 검증
- >안전한 세션 토큰 생성
>> 자주 묻는 질문
Q: HMAC이란 무엇인가요?
A: HMAC(Hash-based Message Authentication Code)는 암호화 해시 함수와 비밀 키를 결합하여 메시지 인증 코드를 계산하는 메커니즘입니다.
Q: HMAC과 일반 해시의 차이점은?
A: 일반 해시(SHA-256)는 데이터 무결성만 제공합니다. HMAC는 비밀 키를 추가하여 키를 아는 당사자만 코드를 생성하거나 검증할 수 있습니다.
Q: API 서명 검증에서 HMAC은 어떻게 사용되나요?
A: 많은 API(AWS, Stripe, GitHub)가 HMAC을 사용하여 요청에 서명합니다. 발신자는 공유 비밀 키로 요청 본문의 HMAC을 계산합니다.
Q: 어떤 HMAC 알고리즘을 사용해야 하나요?
A: HMAC-SHA256이 일반적으로 가장 권장됩니다. HMAC-SHA1은 레거시 시스템에서 아직 사용됩니다. HMAC-SHA384와 HMAC-SHA512는 더 높은 보안을 제공합니다.
Q: 비밀 키의 길이는 얼마나 되어야 하나요?
A: 비밀 키는 해시 출력 이상의 길이여야 합니다(예: HMAC-SHA256의 경우 32바이트). 더 짧은 키는 보안을 낮충니다.