ForHosting KIT · Strumenti per sviluppatori

Firma HMAC-SHA256

Firmi mensaje con la chiave clave-secreta in HMAC-SHA-256 e otterrà una firma che inizia con fd7e5bf1, riproducibile solo da chi possiede quella chiave. Verifichi allo stesso modo le firme ricevute per scoprire i messaggi alterati. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto

L'HMAC è una firma calcolata su un messaggio con una chiave segreta condivisa: chi riceve il messaggio ricalcola l'HMAC con la stessa chiave e, se combacia, sa che il contenuto è autentico e non è stato alterato. Questo strumento del KIT genera e verifica HMAC con SHA-256, SHA-1 o SHA-512, direttamente nel browser.

Cosa dimostra una firma con chiave

Un HMAC è un'impronta di un messaggio calcolata con un segreto condiviso dalle due parti. Un hash normale può calcolarlo chiunque, quindi dimostra solo che i dati non sono danneggiati. Un HMAC dimostra anche chi l'ha prodotto: senza il segreto nessuno può creare una firma che risulti valida. Lei sceglie l'hash di base, SHA-256, SHA-384 o SHA-512, e riceve la firma in esadecimale o in base64, oppure chiede di verificare una firma ricevuta e ottiene valida o non valida.

Dove si usano le firme HMAC

I link firmati sono un caso comune: un HMAC calcolato sull'indirizzo e sulla scadenza rende i link di download o di reimpostazione della password a prova di manomissione. Anche le code di messaggi lo usano, perché chi riceve possa scartare ciò che è stato alterato lungo il percorso, e i servizi se ne servono per fidarsi degli avvisi automatici di un altro sistema. La costruzione è stata formalizzata nella RFC 2104 nel 1996 e normata come FIPS 198, e tre decenni di analisi l'hanno lasciata quasi intatta.

HMAC contro hash semplice

Un hash chiunque può ricalcolarlo: non prova chi l'ha prodotto. L'HMAC aggiunge una chiave segreta, quindi solo chi la conosce può generare o verificare la firma. Ricalcolandolo verifichi che la chiamata arrivi davvero da loro e non da un impostore.

Verificare la firma di un messaggio ricevuto

È il caso d'uso numero uno. Ricevi un evento, prendi il corpo grezzo della richiesta, calcoli l'HMAC-SHA256 con il tuo secret e lo confronti con la firma nell'header. Qui incolli corpo e chiave e vedi subito se la firma torna.

La chiave resta tua

Per questo il calcolo avviene interamente nel browser: chiave e messaggio non vengono inviati online, non transitano da nessun server, non restano da nessuna parte. Puoi provare la firma di produzione senza mai esporre il secret.

Firmare le chiamate a un partner

Uno sviluppatore integra un corriere: ogni richiesta va firmata in HMAC-SHA256 con la chiave fornita. Qui prova la firma su una richiesta di esempio finché non combacia con quella attesa dal partner.

Link con scadenza a prova di manomissione

Un gestionale genera link di download temporanei firmati in HMAC: se qualcuno cambia la data di scadenza nell'URL, la firma non torna più e il link viene rifiutato.

Che differenza c'è tra HMAC e un hash normale?

L'hash lo può calcolare chiunque, quindi non autentica nessuno. L'HMAC usa una chiave segreta: solo chi la conosce può produrre o verificare la firma. Serve proprio a provare l'autenticità di un messaggio.

La mia chiave segreta viene inviata online?

No. Chiave e messaggio restano nel browser: il calcolo è locale, niente viene trasmesso o registrato. Puoi usare anche il secret di produzione senza esporlo.

Quale algoritmo devo usare?

Segui quello che indica il servizio da integrare: nella grande maggioranza dei casi è HMAC-SHA256. SHA-1 sopravvive in vecchie integrazioni; SHA-512 quando serve un margine extra.

Che differenza c'è tra un hash e un HMAC?

Un hash normale, come SHA-256, dimostra che un messaggio non è stato danneggiato, ma chiunque può calcolarlo, anche chi falsifica un messaggio. L'HMAC mescola nel calcolo un segreto condiviso, così solo chi lo possiede può produrre una firma che risulti valida.

Come verifico una firma ricevuta?

Scelga l'opzione di verifica e inserisca il messaggio, il segreto condiviso e la firma ricevuta. La risposta è un semplice valida o non valida, così capisce subito se il messaggio è stato alterato o firmato con un'altra chiave.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/dev/hmac

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/dev/hmac \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"payload","secret":"s3cr3t"}'
{
  "text": "payload",
  "secret": "s3cr3t"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.hmac",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

HMAC contro hash semplice

È il meccanismo dietro la maggior parte dei webhook: quando un gateway di pagamento o un servizio ti manda una notifica, allega un HMAC calcolato con un secret concordato.

Verificare la firma di un webhook

Attento a due dettagli: firma il payload esatto, byte per byte, non il JSON riformattato; e confronta le stringhe in modo sicuro.

La chiave resta tua

Il secret di un webhook è una credenziale a tutti gli effetti: se finisce nei log di un servizio esterno, chiunque può falsificare le chiamate.

Nel backend, via API

Per un controllo manuale mentre fai debug, la pagina è lo strumento giusto e non costa niente. $0.002 a richiesta quando è il tuo server a dover firmare in automatico, per esempio per autenticare le chiamate verso un partner.

Validare i webhook di pagamento

Rossi & Figli S.r.l. riceve le notifiche di incasso da PayPal. Prima di segnare un ordine come pagato, il sistema verifica l'HMAC della notifica: nessuna firma valida, nessun ordine sbloccato.

Come verifico la firma di un webhook?

Prendi il corpo grezzo della richiesta, calcola l'HMAC con l'algoritmo e il secret indicati dal servizio, e confrontalo con la firma nell'header. Se coincidono, la chiamata è autentica.

È davvero gratis?

Nel browser sì, senza limiti né registrazione. Il costo scatta solo via API, a $0.002 a richiesta.

Posso firmare in automatico dal mio server?

Sì, via API a $0.002 a richiesta: pensata per quando è il backend a firmare o verificare a ogni evento.

Leggi la documentazione completa del KIT →