Generator HMAC (Oblicz HMAC-SHA256 w przeglądarce)
Narzędzie do generowania HMAC SHA256 bezpośrednio tutaj. Klucze i dane wejściowe nie są wysyłane ani przechowywane.
Obsługuje formaty Text/Hex/Base64 na wejściu i Hex/Base64 na wyjściu. Bezpieczne obliczenia przy użyciu standardowego interfejsu Crypto API.
Wejście i Wyjście
Ta strona wykonuje obliczenia wyłącznie w przeglądarce i nie wysyła danych.
* Ważna jest „sekwencja bajtów” zgodnie ze specyfikacją API. Jeśli klucz jest binarny, wprowadź go jako Hex lub Base64.
Opcje
Wyniki zmienią się, jeśli znaki nowej linii różnią się między systemami operacyjnymi lub przy wklejaniu.
Ponieważ podpisy API zakładają „dokładne dopasowanie”, zazwyczaj zaleca się zachowanie danych bez zmian.
Sposób użycia
3 podstawowe kroki do utworzenia podpisu HMAC.
- 1 Wprowadź klucz (wybierz Hex / Base64, jeśli specyfikacja API jest binarna)
- 2 Wprowadź wiadomość (ciąg do podpisania / ładunek)
- 3 Wybierz format wyjściowy (Hex / Base64) i skopiuj wynik
HMAC jest obliczany na „sekwencjach bajtów”, a nie na „ciągach znaków”. Nawet jeśli wyglądają tak samo, wyniki będą inne, jeśli kodowanie znaków, nowe linie lub białe znaki się różnią (zakłada się UTF-8).
Przykłady (Wektory testowe do weryfikacji)
Kliknij 'Załaduj przykład', aby wypełnić pola.
Typowe pułapki
Wyniki zmieniają się w zależności od obsługi nowych linii.
Ponieważ podpisy wymagają dokładnego dopasowania, usunięcie białych znaków może spowodować błąd weryfikacji.
Base64URL zazwyczaj zamienia + na -, / na _ i pomija =. Sprawdź specyfikację.
Przykład: wpisanie 'deadbeef' jako 'tekst' vs wpisanie go jako 'sekwencję bajtów 0xDE 0xAD...'.
Informacje uzupełniające
Mechanizm tworzenia podpisu z tajnego klucza i wiadomości. Osoba trzecia nie może stworzyć tego samego wyniku bez posiadania klucza.
SHA-256 to 'skrót' (hash), HMAC to 'podpis z kluczem'.
Używany do podpisów API, weryfikacji Webhooków, wykrywania ingerencji w dane itp.
FAQ
Czy klucz jest przechowywany?
Nie. To narzędzie wykonuje obliczenia w przeglądarce i nie wysyła kluczy ani wiadomości na serwer. (※ Dla pewności wyczyść dane po użyciu na publicznym komputerze)
Base64 czy Hex?
Oba są stosowane. Możesz wybrać format wyjściowy (Hex / Base64 / Base64URL). Wybierz zgodnie ze specyfikacją swojego API.
Character Encoding?
Assumes UTF-8. Text input is converted to bytes as UTF-8 for calculation. Use Hex / Base64 input for handling binary.
Difference between HMAC and SHA-256 hash?
SHA-256 to 'skrót' (hash), HMAC to 'podpis' (keyed hash). Ten sam wynik nie może zostać wygenerowany, jeśli klucze się nie zgadzają.
Wynik się nie zgadza
Typowe przyczyny to: (1) Obsługa klucza (Tekst vs Binarny), (2) Nowe linie, (3) Białe znaki, (4) Base64URL. Sprawdź powyższe pułapki po kolei.