Generi hash di testo: MD5, SHA-1, SHA-256, SHA-512 o CRC32
Scriva «Hello, world!», scelga SHA-256 e ottenga un'impronta di 64 caratteri di quel testo preciso. Ogni spazio, maiuscola e a capo conta, quindi due valori coincidono solo se testo e algoritmo sono identici. Gratis nel Suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Generi l’hash esadecimale di qualsiasi testo scegliendo MD5, SHA-1, SHA-256, SHA-512 o CRC32. Lo strumento tratta il testo esattamente come Lei lo inserisce, lo codifica in UTF-8 e restituisce un valore esadecimale in minuscolo. È utile per verificare valori copiati, riprodurre digest applicativi, preparare dati di test stabili e confrontare informazioni senza esporre il testo originale. Ogni algoritmo supportato è deterministico: gli stessi caratteri, spazi, maiuscole e lo stesso algoritmo producono sempre il medesimo risultato.
Scelga l’algoritmo adatto allo scopo
Un algoritmo di hash trasforma un testo di qualsiasi lunghezza in un valore dal formato fisso, ma le opzioni disponibili non sono equivalenti. SHA-512 produce un digest più lungo ed è indicato quando un protocollo o un’integrazione esistente lo prescrive espressamente. Non vanno però scelti per nuovi progetti sensibili alla sicurezza, poiché esistono attacchi di collisione praticabili.
CRC32 è un checksum compatto per rilevare errori, non un hash crittografico. È adatto a metadati di archivi, formati legacy, campi di rete o controlli rapidi contro alterazioni accidentali. Non è adatto a password, firme, autenticazione o manomissioni intenzionali.
Per riprodurre un valore esterno, scelga esattamente l’algoritmo indicato dalla fonte.
Inserisca il testo con precisione e interpreti l’output
L’input viene codificato in UTF-8 prima del calcolo e il risultato è restituito in esadecimale minuscolo. Ogni carattere conta. Uno spazio finale, un ritorno a capo copiato dal terminale, una differenza tra maiuscole e minuscole o un carattere Unicode visivamente simile cambiano completamente l’output.
Se il risultato non coincide con un riferimento, verifichi se l’altro sistema include terminatori di riga, un byte-order mark, virgolette esterne o un ritorno a capo finale. Questa capacità elabora sempre i byte UTF-8 del campo testuale letterale: non rimuove spazi, non normalizza, non decodifica e non modifica il testo in modo implicito. La risposta contiene il digest e il nome normalizzato dell’algoritmo.
In esadecimale, MD5 misura 32 caratteri, SHA-1 40, SHA-256 64, SHA-512 128 e CRC32 8.
Usi gli hash in modo sicuro nell’automazione
Conservi l’algoritmo insieme al valore, perché un digest senza etichetta può diventare ambiguo dopo un aggiornamento. Confronti gli hash solo quando entrambe le parti usano la stessa codifica e la stessa sequenza di byte. Non usi questo strumento per le password: gli algoritmi veloci consentono di provare rapidamente molte ipotesi, mentre l’archiviazione delle password richiede una funzione specifica, con salt e volutamente costosa, come Argon2, scrypt, bcrypt o PBKDF2 con parametri adeguati.
Un semplice hash non dimostra nemmeno chi ha creato un messaggio. Usi HMAC con una chiave segreta per l’autenticazione o una firma digitale quando contano identità e integrità. L’hashing è una trasformazione unidirezionale, non una cifratura, e non protegge un segreto prevedibile dai tentativi.
Casi d'uso
Controllare checksum legacy
Confronti valori MD5, SHA-1 o CRC32 usati da manifesti e formati datati, distinguendo la compatibilità dalla sicurezza moderna.
Domande frequenti
L’output esadecimale usa maiuscole o minuscole?
L’output è esadecimale minuscolo e conserva gli zeri iniziali fino alla lunghezza completa prevista dall’algoritmo.
Posso elaborare una stringa vuota?
Sì. Una stringa vuota è un testo valido e ha un digest ben definito per ogni algoritmo supportato.
Perché il mio hash differisce da quello di un altro strumento?
Verifichi algoritmo, UTF-8, maiuscole, spazi, terminatori di riga, ritorno finale e se l’altro strumento elabora byte decodificati anziché testo letterale.
Posso usarlo per le password?
No. Usi una funzione con salt come Argon2, scrypt, bcrypt o PBKDF2, con parametri adatti al Suo ambiente.
CRC32 è un hash crittografico?
No. CRC32 rileva molte modifiche accidentali, ma non è progettato per resistere a collisioni o manomissioni intenzionali.
Strumenti correlati
Per sviluppatori — accesso via API
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.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/web/hash-generate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, world!","algorithm":"sha256"}'const res = await fetch("https://api.kit.forhosting.com/web/hash-generate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, world!",
"algorithm": "sha256"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/hash-generate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, world!",
"algorithm": "sha256"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/hash-generate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, world!","algorithm":"sha256"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, world!","algorithm":"sha256"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/hash-generate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "Hello, world!",
"algorithm": "sha256"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.hash_generate",
"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.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
timeout_sec | 30 |
max_crawl_pages | 25 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Scelga l’algoritmo adatto allo scopo
MD5 e SHA-1 compaiono ancora in API datate, manifesti, checksum e migrazioni; questo generatore li supporta quindi per compatibilità.
Inserisca il testo con precisione e interpreti l’output
Controlli inoltre se elabora il testo grezzo o una rappresentazione decodificata, come JSON, Base64 o byte esadecimali.
Usi gli hash in modo sicuro nell’automazione
Per le chiamate automatizzate, il prezzo base è $0.002 per elemento e la risposta è stabile per input identici.
Casi di integrazione
Riprodurre il digest di un’integrazione
Elabori un payload di esempio esatto con l’algoritmo indicato da un’API partner e confronti l’output esadecimale durante la diagnosi.
Creare fixture di test stabili
Generi valori attesi deterministici per i test unitari senza dipendere da rete, orari, salt casuali o servizi mutevoli.
Domande tecniche
Quanto costa calcolare un hash?
Il prezzo base dell’API è $0.002 per elemento. La versione browser può essere eseguita localmente senza una chiamata API.