HMAC-SHA512-generator
Generera en HMAC-SHA512-tagg från ett meddelande och en hemlig nyckel. Verktyget kodar båda som UTF-8, tillämpar HMAC-konstruktionen från RFC 2104 med SHA-512 och returnerar resultatet på 512 bit i hex eller Base64. Använd det för att testa API-signeringssystem, till exempel vissa API:er för kryptobörser och HS512-token, och för att kontrollera din egen implementation mot en betrodd referens. Nyckeln visas aldrig i svaret.
Vanliga frågor
Vad är HMAC-SHA512?
HMAC-SHA512 kombinerar hashfunktionen SHA-512 med en hemlig nyckel genom HMAC-konstruktionen från RFC 2104. Den bevisar att ett meddelande kommer från någon som känner till nyckeln och inte har ändrats. Taggen är 64 byte, eller 128 hextecken.
Vad är en känd HMAC-SHA512-testvektor?
Testfall 2 i RFC 4231 använder nyckeln Jefe och meddelandet what do ya want for nothing?. Den förväntade taggen är 164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737, vilket det här verktyget återskapar.
När bör jag använda HMAC-SHA512 i stället för HMAC-SHA256?
Använd det när ett API eller ett tokenformat kräver det, till exempel HS512-algoritmen i JSON Web Tokens. HMAC-SHA256 är redan starkt, och SHA-512 ger främst en längre tagg och är ofta snabbare på 64-bitarsmaskiner.
Hur kodas indata?
Meddelandet och nyckeln hanteras båda som UTF-8-text. Om din leverantör ger dig en Base64- eller hexhemlighet som först måste avkodas, kommer resultatet här att skilja sig från deras.
Hur lång bör min nyckel vara?
En slumpmässig nyckel på 64 byte motsvarar utdata på SHA-512 och är ett bra val. Nycklar som är längre än 128 byte hashomvandlas först, och mycket korta nycklar försvagar säkerheten.
Hålls den hemliga nyckeln privat?
Ja. Nyckeln används endast i minnet för den här begäran och utelämnas från svaret. Den loggas eller lagras aldrig.
Kan jag skapa en JWT-signatur med det här verktyget?
Delvis. HS512 signerar Base64URL-headern, en punkt och Base64URL-nyttolasten. Klistra in den strängen som meddelande, välj utdata i Base64 och ersätt + med -, / med _ och ta bort =-utfyllnaden för att få signaturdelen JWT.
Varför stämmer inte resultatet?
De vanligaste orsakerna är extra blanksteg eller radbrytningar i meddelandet, en nyckel som borde ha avkodats från hex eller Base64, eller att hex jämförs med Base64. Kontrollera varje indatabyte byte för byte.
Kan jag trunkera HMAC-SHA512-taggen?
Vissa protokoll använder bara den första delen av taggen, till exempel varianter av HMAC-SHA512/256 i vissa standarder. Verktyget returnerar alltid alla 64 byte, så kapa taggen själv om protokollet kräver det.
Vad är gränsen för indata?
Meddelandet och nyckeln får tillsammans vara högst 5 MiB text per begäran. Det räcker för API-begärandekroppar, tokensträngar och stora webhook-nyttolaster.