Generare un hash: MD5, SHA-256, SHA-512, bcrypt, argon2

calcola l'hash di una stringa con i principali algoritmi (MD5, SHA-1, SHA-256, SHA-512, bcrypt, Argon2id). Utile per memorizzare password o firmare dati in modo non reversibile

Perché usare l'hashing di password?

L'hashing di password è essenziale per mettere in sicurezza informazioni sensibili, come le password utente. Piuttosto che memorizzare le password in chiaro, l'hashing le converte in una stringa di caratteri casuale e irreversibile. Questo protegge le password anche in caso di violazione del database, perché l'hash non può essere facilmente invertito per recuperare la password originale.

Funzionalità dello strumento di hashing di password

Questo strumento di hashing di password usa algoritmi sicuri per generare hash di alta qualità. Potete scegliere tra diversi algoritmi di hash, come SHA-256, SHA-512, bcrypt, o altri algoritmi riconosciuti per la loro sicurezza.

Come usare lo strumento di hashing

Nella pagina di utilizzo, potete inserire la password da hashare nella zona di testo prevista a tal scopo. Selezionate l'algoritmo di hash desiderato e cliccate sul pulsante per generare l'hash.

Una volta generato l'hash, sarà mostrato in una zona di risultato. Potete copiare l'hash per usarlo nella vostra applicazione o nel vostro database sicuro.

Esempio di hashing di password

Ecco un esempio di password "password123" hashata usando l'algoritmo bcrypt:


$2y$10$8Y1q1L6z0pcpO8fJcoJP3OzJ1i9gyThBVWy50MXKuR8ymyZvW9G7e

    

Domande frequenti

Perché non usare SHA-256 direttamente per memorizzare password?

SHA-256 è troppo rapido. Una GPU moderna può testare miliardi di hash SHA-256 al secondo, il che rende banali gli attacchi per forza bruta o dizionario sulle password comuni. Per la memorizzazione di password, usate funzioni volutamente lente e costose in memoria come bcrypt, scrypt o argon2id. Integrano un sale e un fattore di costo regolabile per resistere all'evoluzione dell'hardware.

Qual è la differenza tra MD5, SHA-1 e SHA-256?

MD5 (128 bit) e SHA-1 (160 bit) sono algoritmi vecchi, considerati rotti in crittografia: si possono produrre collisioni in pratica. SHA-256 (256 bit) appartiene alla famiglia SHA-2 e resta lo standard moderno per le impronte di integrità, i certificati TLS o le firme di pacchetti. Per un nuovo progetto, partite sistematicamente con SHA-256 o SHA-512.

A cosa serve il sale (salt) in un hash di password?

Il sale è una stringa casuale aggiunta alla password prima dell'hashing. Garantisce che due utenti che scelgono la stessa password ottengano due hash diversi, il che impedisce l'uso di tabelle precalcolate (rainbow table) e obbliga l'attaccante ad attaccare ogni account individualmente. bcrypt, scrypt e argon2 gestiscono automaticamente il sale, che è memorizzato nella stringa risultante.

Perché una stessa password hashata in bcrypt dà un risultato diverso a ogni esecuzione?

Perché bcrypt genera un sale casuale a ogni chiamata e lo incorpora nell'hash finale. Il formato $2y$10$<sale><hash> imbarca il costo, il sale e l'impronta in una sola stringa. Per verificare una password, si estrae il sale dall'hash memorizzato e si rihasha la password candidata con questo stesso sale: è ciò che fa password_verify() in PHP.

bcrypt, scrypt o argon2: quale scegliere?

argon2id è la scelta raccomandata dall'OWASP nel 2026: combina resistenza agli attacchi GPU e ASIC grazie a un costo di memoria regolabile. scrypt è una buona alternativa se argon2 non è disponibile. bcrypt resta molto diffuso e accettabile per molti usi, con un costo di almeno 12. Da evitare assolutamente: MD5, SHA-1, SHA-256 o SHA-512 usati da soli per memorizzare una password.

La password viene inviata su un server durante l'hashing?

Per gli algoritmi puramente client (MD5, SHA-1, SHA-256, SHA-512) il calcolo può avvenire nel browser tramite l'API Web Crypto. Per bcrypt, viene usata l'implementazione PHP nativa lato server perché nessuna API browser standard la espone. In ogni caso, la password transita solo in HTTPS, non viene loggata né memorizzata, e l'hash restituito può essere copiato per uso successivo.

Esempio di richiesta

curl -X POST https://cdrn.fr/api/v1/tools/hash-generator/execute \
  -H "Content-Type: application/json" \
  -d '{"texte":"...","algorithm":"adler32"}'

Schema di input

Campo Tipo Richiesto Predefinito
texte text
algorithm choice (adler32, argon2i, argon2id, bcrypt, crc32, crc32b, crc32c, fnv132, fnv164, fnv1a32, fnv1a64, gost, gost-crypto, haval128,3, haval128,4, haval128,5, haval160,3, haval160,4, haval160,5, haval192,3, haval192,4, haval192,5, haval224,3, haval224,4, haval224,5, haval256,3, haval256,4, haval256,5, joaat, md2, md4, md5, murmur3a, murmur3c, murmur3f, ripemd128, ripemd160, ripemd256, ripemd320, sha1, sha224, sha256, sha3-224, sha3-256, sha3-384, sha3-512, sha384, sha512, sha512/224, sha512/256, snefru, snefru256, tiger128,3, tiger128,4, tiger160,3, tiger160,4, tiger192,3, tiger192,4, whirlpool, xxh128, xxh3, xxh32, xxh64)

Endpoint

  • GET https://cdrn.fr/api/v1/tools - elenca tutti gli strumenti disponibili
  • GET https://cdrn.fr/api/v1/tools/hash-generator - recupera lo schema di questo strumento
  • POST https://cdrn.fr/api/v1/tools/hash-generator/execute - esegue questo strumento con un payload JSON