HMAC 생성기 및 검증기
비밀 키를 사용하여 SHA-256, SHA-384, SHA-512 또는 SHA-1 기반의 HMAC 메시지 인증 코드를 생성하고 검증합니다. 모든 작업은 브라우저 내에서 이루어집니다.
🔒 전적으로 귀하의 브라우저에서 처리됩니다. 여기에 입력하는 어떤 것도 업로드되지 않습니다.
결과
HMAC(해시 기반 메시지 인증 코드)은 비밀 키와 메시지를 SHA-256 같은 해시 함수로 결합한 키 기반 암호학적 구조입니다. 누구나 메시지만으로 다시 계산할 수 있는 일반 해시와 달리, HMAC은 동일한 비밀 키를 가진 사람만 재현할 수 있습니다. 이것이 단순한 체크섬이 아닌 인증 코드가 되는 이유입니다.
이것이 일반 다이제스트와의 근본적인 차이입니다. 당사의 해시 생성기 도구는 MD5나 SHA-256 같은 비키 해시를 계산하는데, 이는 우발적 손상을 감지하기에는 좋지만 누가 데이터를 생성했는지는 증명하지 못합니다. 누구나 동일한 해시를 만들 수 있기 때문입니다. HMAC은 무결성(메시지가 변경되지 않음)과 진정성(서명자가 공유된 비밀을 알았음)을 모두 증명합니다. 이것이 API 요청 서명, JWT의 HS256/HS384/HS512 알고리즘, TLS 레코드 인증의 표준 구성 요소가 되는 이유입니다.
가장 흔한 실제 사용 사례는 웹훅 서명을 검증하는 것입니다. Stripe, GitHub, Shopify 같은 서비스는 사용자가 설정한 비밀을 사용해 모든 웹훅 페이로드를 HMAC-SHA256으로 서명하고, 그 결과 서명을 요청 헤더에 담아 보냅니다. 서버는 원시 페이로드에 대해 동일한 비밀로 HMAC을 다시 계산하고 헤더 값과 비교해야 합니다. 일치하면 요청이 실제로 해당 서비스에서 왔으며 전송 중에 변조되지 않았음을 확신할 수 있습니다. 이 도구의 검증 모드는 바로 그 확인을 재현합니다. 페이로드, 공유 비밀, 받은 서명을 붙여넣으면 즉시 일치 또는 불일치를 알 수 있습니다.
모든 작업은 브라우저의 네이티브 Web Crypto API(`crypto.subtle.importKey` 및 `crypto.subtle.sign`)를 통해 로컬에서 실행되므로, 비밀 키, 메시지 본문, 결과 서명은 절대 기기를 떠나지 않습니다. 어떤 서버에도 업로드되지 않으며, 이는 HMAC 비밀이야말로 절대 기록될 수 있는 임의의 온라인 도구에 붙여넣어서는 안 되는 값이기 때문에 중요합니다.