Generatore HMAC-SHA512
Generate un tag HMAC-SHA512 a partire da un messaggio e da una chiave segreta. Lo strumento codifica entrambi in UTF-8, applica la costruzione HMAC definita in RFC 2104 con SHA-512 e restituisce il risultato di 512 bit in formato esadecimale o Base64. Usatelo per testare gli schemi di firma API, come quelli di alcune API di exchange di criptovalute e dei token HS512, e per confrontare la vostra implementazione con un riferimento affidabile. La chiave non compare mai nella risposta.
Domande frequenti
Che cos'è HMAC-SHA512?
HMAC-SHA512 combina l'hash SHA-512 con una chiave segreta usando la costruzione HMAC definita in RFC 2104. Dimostra che un messaggio proviene da qualcuno che conosce la chiave e che non è stato modificato. Il tag è di 64 byte, ovvero 128 caratteri esadecimali.
Qual è un vettore di test noto per HMAC-SHA512?
Il caso di test 2 di RFC 4231 usa la chiave Jefe e il messaggio what do ya want for nothing?. Il tag atteso è 164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737, che questo strumento riproduce.
Quando dovrei usare HMAC-SHA512 invece di HMAC-SHA256?
Usatelo quando un formato API o un formato di token lo richiede, ad esempio per l'algoritmo HS512 nei Web Token JSON. HMAC-SHA256 è già sicuro; SHA-512 offre soprattutto un tag più lungo ed è spesso più veloce sulle macchine a 64 bit.
Come vengono codificati gli input?
Il messaggio e la chiave vengono entrambi trattati come testo UTF-8. Se il vostro provider fornisce un segreto Base64 o esadecimale da decodificare prima, il risultato qui sarà diverso da quello ottenuto dal provider.
Quanto dovrebbe essere lunga la mia chiave?
Una chiave casuale di 64 byte corrisponde alla dimensione di output SHA-512 ed è una buona scelta. Le chiavi più lunghe di 128 byte vengono prima sottoposte a hashing, mentre quelle molto corte indeboliscono la sicurezza.
La chiave segreta rimane privata?
Sì. La chiave viene usata solo in memoria per questa richiesta e non viene inclusa nella risposta. Non viene mai registrata né memorizzata.
Posso creare una firma JWT con questo strumento?
In parte. HS512 firma l’intestazione Base64URL, un punto e il payload Base64URL. Incollate quella stringa come messaggio, scegliete l’output Base64 e sostituite + con -, / con _ e rimuovete il padding = per ottenere la parte della firma JWT.
Perché il risultato non coincide?
Le cause più comuni sono spazi o interruzioni di riga aggiuntivi nel messaggio, una chiave che andrebbe decodificata da hex o Base64, oppure il confronto tra hex e Base64. Controllate ogni byte degli input, uno per uno.
Posso troncare il tag HMAC-SHA512?
Alcuni protocolli usano solo la prima parte del tag, per esempio nelle varianti HMAC-SHA512/256 previste da alcuni standard. Lo strumento restituisce sempre tutti i 64 byte; quindi, se il vostro protocollo lo prevede, tagliate il tag voi.
Qual è il limite per l'input?
Il messaggio e la chiave insieme possono contenere fino a 5 MiB di testo per richiesta. È sufficiente per corpi delle richieste API, stringhe di token e payload webhook di grandi dimensioni.