0

Generator i weryfikator HMAC

Generuj i weryfikuj kody uwierzytelniające HMAC za pomocą SHA-256, SHA-384, SHA-512 lub SHA-1 z użyciem tajnego klucza, w całości w przeglądarce.

🔒 Przetwarzane w całości w Twojej przeglądarce — nic, co tu wpiszesz, nie zostanie nigdy przesłane.

Przetwarzanie... 0%
Importowanie klucza
Obliczanie HMAC
Gotowe

Wynik

HMAC (Hash-based Message Authentication Code) to kryptograficzna konstrukcja kluczowana, 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 ponownie wygenerować na podstawie samej wiadomości, HMAC może odtworzyć tylko osoba dysponująca tym samym tajnym kluczem — właśnie to czyni go kodem uwierzytelniającym, a nie tylko sumą kontrolną.

To podstawowa różnica w porównaniu ze zwykłym skrótem: nasze narzędzie Hash Generator oblicza niekluczowane skróty, takie jak MD5 czy SHA-256, które doskonale sprawdzają się przy wykrywaniu przypadkowych uszkodzeń, ale nie dowodzą, kto utworzył dane, ponieważ każdy może wygenerować ten sam skrót. HMAC dowodzi zarówno integralności (wiadomość nie została zmieniona), jak i autentyczności (podpisujący znał współdzielony sekret), dlatego HMAC jest standardowym elementem składowym przy podpisywaniu żądań API, algorytmach HS256/HS384/HS512 w JWT oraz uwierzytelnianiu rekordów TLS.

Najczęstszym rzeczywistym przypadkiem użycia jest weryfikacja podpisów webhooków. Usługi takie jak Stripe, GitHub i Shopify podpisują każdy ładunek webhooka algorytmem HMAC-SHA256, używając skonfigurowanego przez Ciebie sekretu, a otrzymany podpis wysyłają w nagłówku żądania. Twój serwer powinien ponownie obliczyć HMAC z surowego ładunku i tego samego sekretu, a następnie porównać go z wartością z nagłówka — jeśli są zgodne, wiesz, że żądanie rzeczywiście pochodzi z danej usługi i nie zostało naruszone w transmisji. Tryb weryfikacji tego narzędzia dokładnie odtwarza tę kontrolę: wklej ładunek, współdzielony sekret i otrzymany podpis, aby natychmiast uzyskać informację o zgodności lub jej braku.

Wszystko działa lokalnie za pośrednictwem natywnego Web Crypto API przeglądarki (crypto.subtle.importKey i crypto.subtle.sign), więc tajny klucz, treść wiadomości i wynikowy podpis nigdy nie opuszczają Twojego komputera — nic nie jest przesyłane na żaden serwer, a to ma znaczenie, ponieważ tajne klucze HMAC należą właśnie do tych danych, których nigdy nie powinieneś wklejać do przypadkowego narzędzia online, które mogłoby je przechwycić.