HMAC-SHA512-generator
Generér en HMAC-SHA512-tag ud fra en meddelelse og en hemmelig nøgle. Værktøjet koder begge som UTF-8, anvender HMAC-konstruktionen fra RFC 2104 med SHA-512 og returnerer resultatet på 512 bit i hex eller Base64. Brug det til at teste API-signeringsmetoder, f.eks. nogle kryptobørsers API'er og HS512-tokens, og til at kontrollere din egen implementering mod en pålidelig reference. Nøglen vises aldrig i svaret.
Ofte stillede spørgsmål
Hvad er HMAC-SHA512?
HMAC-SHA512 kombinerer hashfunktionen SHA-512 med en hemmelig nøgle ved hjælp af HMAC-konstruktionen fra RFC 2104. Den beviser, at en meddelelse kommer fra en person, der kender nøglen, og at den ikke er blevet ændret. Taggen er 64 bytes eller 128 hex-tegn.
Hvad er en kendt testvektor for HMAC-SHA512?
Testtilfælde 2 i RFC 4231 bruger nøglen Jefe og meddelelsen what do ya want for nothing?. Den forventede tag er 164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737, som dette værktøj genskaber.
Hvornår bør jeg bruge HMAC-SHA512 i stedet for HMAC-SHA256?
Brug det, når et API- eller tokenformat kræver det, f.eks. HS512-algoritmen i JSON Web Tokens. HMAC-SHA256 er allerede stærk, og SHA-512 giver primært en længere tag og er ofte hurtigere på 64-bit-maskiner.
Hvordan kodes inputtene?
Meddelelsen og nøglen behandles begge som UTF-8-tekst. Hvis din udbyder giver dig en Base64- eller hex-hemmelighed, der først skal afkodes, vil resultatet her afvige fra deres.
Hvor lang bør min nøgle være?
En tilfældig nøgle på 64 bytes svarer til outputstørrelsen på SHA-512 og er et godt valg. Nøgler, der er længere end 128 bytes, hashes først, og meget korte nøgler svækker sikkerheden.
Holdes den hemmelige nøgle privat?
Ja. Nøglen bruges kun i hukommelsen til denne anmodning og udelades fra svaret. Den logges eller gemmes aldrig.
Kan jeg oprette en JWT-signatur med dette værktøj?
Delvist. HS512 signerer Base64URL-headeren, et punktum og Base64URL-payloaden. Indsæt denne streng som meddelelsen, vælg Base64-output, og erstat + med -, / med _ og fjern =-udfyldningen for at få signaturdelen JWT.
Hvorfor stemmer mit resultat ikke?
De mest almindelige årsager er ekstra mellemrum eller linjeskift i meddelelsen, en nøgle, der skulle have været afkodet fra hex eller Base64, eller at hex sammenlignes med Base64. Kontrollér hver byte i inputtet enkeltvis.
Kan jeg afkorte HMAC-SHA512-taggen?
Nogle protokoller bruger kun den første del af taggen, for eksempel varianter af HMAC-SHA512/256 i visse standarder. Værktøjet returnerer altid alle 64 bytes, så afkort selv taggen, hvis din protokol kræver det.
Hvad er inputgrænsen?
Meddelelsen og nøglen må tilsammen fylde op til 5 MiB tekst pr. anmodning. Det er nok til API-anmodningsindhold, tokenstrenge og store webhook-payloads.