Generator HMAC-SHA512
Generuj tag HMAC-SHA512 na podstawie wiadomości i tajnego klucza. Narzędzie koduje oba elementy w UTF-8, stosuje konstrukcję HMAC z RFC 2104 z użyciem SHA-512 i zwraca wynik o długości 512 bitów w zapisie szesnastkowym lub Base64. Użyj go do testowania schematów podpisywania API, takich jak te stosowane przez niektóre API giełd kryptowalut i tokeny HS512, oraz do sprawdzania własnej implementacji względem zaufanego wzorca. Klucz nigdy nie pojawia się w odpowiedzi.
Najczęściej zadawane pytania
Czym jest HMAC-SHA512?
HMAC-SHA512 łączy funkcję skrótu SHA-512 z tajnym kluczem, używając konstrukcji HMAC z RFC 2104. Potwierdza, że wiadomość pochodzi od osoby znającej klucz i nie została zmieniona. Tag ma 64 bajty, czyli 128 znaków szesnastkowych.
Jaki jest znany wektor testowy HMAC-SHA512?
Przypadek testowy 2 z RFC 4231 wykorzystuje klucz Jefe i wiadomość what do ya want for nothing?. Oczekiwany tag to 164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737; to narzędzie odtwarza ten wynik.
Kiedy używać HMAC-SHA512 zamiast HMAC-SHA256?
Użyj go, gdy wymaga go API lub format tokena, na przykład algorytm HS512 w JSON Web Tokens. HMAC-SHA256 jest już bezpieczny, a SHA-512 zapewnia głównie dłuższy tag i często działa szybciej na komputerach 64-bitowych.
Jak kodowane są dane wejściowe?
Wiadomość i klucz są traktowane jako tekst UTF-8. Jeśli dostawca przekazuje Ci sekret w formacie Base64 lub szesnastkowym, który trzeba najpierw zdekodować, uzyskany tutaj wynik będzie się różnić od jego wyniku.
Jak długa powinna być moja klucz?
Losowy klucz o długości 64 bajtów odpowiada rozmiarowi wyjściowemu SHA-512 i jest dobrym wyborem. Klucze dłuższe niż 128 bajtów są najpierw haszowane, a bardzo krótkie klucze osłabiają bezpieczeństwo.
Czy klucz tajny pozostaje prywatny?
Tak. Klucz jest używany w pamięci wyłącznie na potrzeby tego żądania i nie jest dołączany do odpowiedzi. Nigdy nie jest logowany ani przechowywany.
Czy mogę utworzyć za pomocą tego narzędzia podpis JWT?
Częściowo. HS512 podpisuje nagłówek Base64URL, kropkę i ładunek Base64URL. Wklej ten ciąg jako wiadomość, wybierz format wyjściowy Base64, a następnie zamień + na -, / na _ i usuń dopełnienie =, aby uzyskać część podpisu JWT.
Dlaczego mój wynik się nie zgadza?
Najczęstsze przyczyny to dodatkowe białe znaki lub podziały wiersza w wiadomości, klucz, który należało zdekodować z formatu hex lub Base64, albo porównywanie formatu hex z Base64. Sprawdź każdy bajt wejściowy.
Czy mogę skrócić tag HMAC-SHA512?
Niektóre protokoły używają tylko początkowej części tagu, na przykład wariantów HMAC-SHA512/256 w niektórych standardach. Narzędzie zawsze zwraca pełne 64 bajty, więc skróć wynik samodzielnie, jeśli wymaga tego Twój protokół.
Jaki jest limit danych wejściowych?
Wiadomość i klucz mogą łącznie zawierać do 5 MiB tekstu w jednym żądaniu. To wystarczy dla treści żądań API, ciągów tokenów i dużych ładunków webhooków.