0

HMAC 생성기 및 검증기

브라우저에서 비밀 키를 사용하여 SHA-256, SHA-384, SHA-512 또는 SHA-1로 HMAC 메시지 인증 코드를 생성하고 확인하세요.

Buy Me a Coffee at ko-fi.com
처리 중... 0%
키 가져오기
HMAC 컴퓨팅
완료

결과

HMAC(해시 기반 메시지 인증 코드)는 SHA-256과 같은 해시 기능을 통해 비밀 키와 메시지를 결합하는 키 암호화 구성입니다. 누구나 메시지만으로 다시 계산할 수 있는 일반 해시와 달리, HMAC는 동일한 비밀 키를 보유한 사람에 의해서만 재생산될 수 있습니다. 이것이 바로 체크섬이 아닌 인증 코드가 되는 이유입니다.

이는 일반 다이제스트와의 근본적인 차이점입니다. 자체 해시 생성기 도구는 MD5 또는 SHA-256과 같은 키가 지정되지 않은 해시를 계산합니다. 이는 우발적인 손상을 감지하는 데는 좋지만 누구나 동일한 해시를 생성할 수 있기 때문에 누가 데이터를 생성했는지에 대해서는 아무 것도 증명하지 못합니다. HMAC는 무결성(메시지가 변경되지 않음)과 신뢰성(서명자가 공유 비밀을 알고 있음)을 모두 증명합니다. 이것이 바로 HMAC가 API 요청 서명, JWT의 HS256/HS384/HS512 알고리즘 및 TLS 레코드 인증의 표준 구성 요소인 이유입니다.

가장 일반적인 실제 사용 사례는 웹훅 서명을 확인하는 것입니다. Stripe, GitHub 및 Shopify와 같은 서비스는 사용자가 구성한 비밀을 사용하여 HMAC-SHA256으로 모든 웹후크 페이로드에 서명하고 결과 서명을 요청 헤더로 보냅니다. 서버는 동일한 비밀을 사용하여 원시 페이로드에 대해 HMAC를 다시 계산하고 이를 헤더 값과 비교할 것으로 예상됩니다. 일치하는 경우 요청이 실제로 해당 서비스에서 왔고 전송 중에 변조되지 않았음을 알 수 있습니다. 이 도구의 확인 모드는 해당 검사를 정확하게 재현합니다. 즉, 페이로드, 공유 비밀 및 수신된 서명을 붙여넣고 즉시 일치 또는 불일치를 얻습니다.

모든 것이 브라우저의 기본 웹 암호화 API(crypto.subtle.importKey 및 crypto.subtle.sign)를 통해 로컬로 실행되므로 비밀 키, 메시지 본문 및 결과 서명이 컴퓨터를 떠나지 않습니다. 아무 서버에도 업로드되지 않습니다. HMAC 비밀은 이를 기록할 수 있는 임의의 온라인 도구에 절대 붙여넣어서는 안 되는 종류의 값이므로 중요합니다.