Nessun dato inviato

Generatore HMAC (Calcola HMAC-SHA256 nel browser)

Uno strumento di calcolo HMAC per generare HMAC SHA256 direttamente qui. Chiavi e input non vengono né inviati né memorizzati.

Supporta input Text/Hex/Base64 e output Hex/Base64. Calcola in modo sicuro utilizzando l'API Crypto standard del browser.

Calcolo locale Nessuna memorizzazione Hex/Base64 supportato

Input e Output

Questa pagina esegue i calcoli interamente all'interno del browser e non invia dati.

Nessun dato inviato
Formato di input

* La 'sequenza di byte' secondo le specifiche dell'API è importante. Se la chiave è binaria, inseriscila in Hex/Base64.

Formato di input
Lunghezza output: 32 byte (SHA-256)
Opzioni

I risultati cambieranno se i codici di ritorno a capo differiscono a causa del sistema operativo o del copia-incolla.

Poiché le firme API presuppongono una 'corrispondenza esatta', è generalmente consigliato mantenerlo così com'è.

Utilizzo

I 3 passaggi fondamentali per creare una firma HMAC.

  1. 1 Inserisci la chiave (Seleziona Hex / Base64 se la specifica API è binaria)
  2. 2 Inserisci il messaggio (Stringa da firmare / payload)
  3. 3 Seleziona il formato di output (Hex / Base64) e copia

HMAC viene calcolato su 'sequenze di byte', non su 'stringhe di caratteri'. Anche se sembrano uguali, i risultati differiranno se la codifica dei caratteri, i ritorni a capo o gli spazi bianchi extra sono diversi (presuppone UTF-8).

Esempi (Vettori di test per la verifica)

Fai clic su 'Carica esempio' per compilare i campi di input.

Esempio 1
Chiave (Testo/UTF-8)
secret
Messaggio (Testo/UTF-8)
message
HMAC-SHA256 (Hex)
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64)
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
Esempio 2
Chiave (Testo/UTF-8)
key
Messaggio (Testo/UTF-8)
The quick brown fox jumps over the lazy dog
HMAC-SHA256 (Hex)
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
HMAC-SHA256 (Base64)
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

Errori comuni

Differenze nei codici di ritorno a capo (LF/CRLF)

I risultati cambiano se la gestione dei ritorni a capo varia.

Trimming (Rimozione degli spazi bianchi)

Poiché le firme presuppongono corrispondenze esatte, la rimozione degli spazi bianchi potrebbe causare discrepanze.

Notazione Base64URL

Base64URL in genere utilizza +→-, /→_ e omette =. Si prega di controllare le specifiche.

Gestione della chiave (Testo vs Binario)

Esempio: inserire 'deadbeef' come 'stringa' rispetto a inserirlo come 'sequenza di byte 0xDE 0xAD...'.

Informazioni supplementari

Cos'è l'HMAC?

Un meccanismo per creare una firma da una chiave segreta e un messaggio. Una terza parte non può creare lo stesso risultato senza la stessa chiave.

Differenza dallo SHA-256

Lo SHA-256 è un 'hash', l'HMAC è un 'keyed hash (firma)'.

Casi d'uso

Utilizzato per firme API, verifica di Webhook, rilevamento di manomissioni delle richieste, ecc.

FAQ

La chiave viene memorizzata?

Non viene memorizzata. Questo strumento esegue i calcoli all'interno del browser e non invia chiavi o messaggi a un server. (※Come precauzione, si prega di resettare dopo l'inserimento su un PC condiviso)

Base64 o Hex?

Entrambi sono utilizzati. È possibile selezionare il formato di output (Hex / Base64 / Base64URL). Si prega di scegliere in base alle specifiche dell'API.

Codifica dei caratteri?

Presuppone UTF-8. L'input di testo viene convertito in byte come UTF-8 per il calcolo. Utilizzare l'input Hex / Base64 per gestire dati binari.

Differenza tra HMAC e hash SHA-256?

SHA-256 è un 'hash', HMAC è un 'keyed hash (firma)'. Non è possibile produrre lo stesso risultato a meno che le chiavi non corrispondano.

L'output non corrisponde

Le cause comuni sono (1) Gestione della chiave (Testo vs Binario), (2) Ritorni a capo, (3) Spazi bianchi, (4) Base64URL. Si prega di controllare gli errori comuni sopra in ordine.