Generator i weryfikator HMAC
Generuj i weryfikuj kody uwierzytelniania wiadomości HMAC za pomocą SHA-256, SHA-384, SHA-512 lub SHA-1 przy użyciu tajnego klucza, całkowicie w przeglądarce.
Wynik
HMAC (kod uwierzytelniania wiadomości oparty na haszu) to kluczowa konstrukcja kryptograficzna, która łączy tajny klucz z wiadomością za pomocą funkcji skrótu, takiej jak SHA-256. W przeciwieństwie do zwykłego skrótu, który każdy może przeliczyć na podstawie samej wiadomości, HMAC może zostać odtworzony tylko przez osobę posiadającą ten sam tajny klucz – dlatego jest to kod uwierzytelniający, a nie tylko suma kontrolna.
Na tym polega podstawowa różnica w porównaniu ze zwykłym skrótem: nasze własne narzędzie Hash Generator oblicza wartości skrótu bez klucza, takie jak MD5 lub SHA-256, które doskonale nadają się do wykrywania przypadkowych uszkodzeń, ale nie dowodzą niczego na temat tego, kto wyprodukował dane, ponieważ każdy może wygenerować ten sam skrót. HMAC potwierdza zarówno integralność (wiadomość nie została zmieniona), jak i autentyczność (sygnatariusz znał wspólny sekret), dlatego HMAC jest standardowym elementem składowym podpisywania żądań API, algorytmów HS256/HS384/HS512 JWT i uwierzytelniania rekordów TLS.
Najczęstszym przypadkiem użycia w świecie rzeczywistym jest weryfikacja podpisów webhook. Usługi takie jak Stripe, GitHub i Shopify podpisują każdy ładunek webhooka za pomocą HMAC-SHA256 przy użyciu skonfigurowanego klucza tajnego i wysyłają wynikowy podpis w nagłówku żądania. Oczekuje się, że Twój serwer ponownie obliczy HMAC na podstawie surowego ładunku z tym samym kluczem tajnym i porówna go z wartością nagłówka — jeśli są zgodne, wiesz, że żądanie rzeczywiście pochodziło z tej usługi i nie zostało zmienione podczas przesyłania. Tryb weryfikacji tego narzędzia odtwarza dokładnie ten test: wklej ładunek, wspólny sekret i otrzymany podpis, a uzyskasz natychmiastowe dopasowanie lub niezgodność.
Wszystko działa lokalnie poprzez natywny interfejs Web Crypto API przeglądarki (crypto.subtle.importKey i crypto.subtle.sign), więc tajny klucz, treść wiadomości i powstały podpis nigdy nie opuszczają Twojego komputera — nic nie jest przesyłane na żaden serwer, co ma znaczenie, ponieważ sekrety HMAC to dokładnie ten rodzaj wartości, którego nigdy nie należy wklejać do losowego narzędzia online, które mogłoby je zarejestrować.