Parametri di hashing delle password
Due domande, risolte nel tuo browser: le mie impostazioni raggiungono i minimi OWASP, e quante iterazioni può davvero permettersi il mio hardware?
Misura il tuo hardware
Esegue PBKDF2 tramite Web Crypto, lo cronometra e indica quante iterazioni entrano nel tuo budget di tempo. Nulla esce dalla pagina.
Da leggere prima di citare il numero
Misurato in una scheda del browser, sul dispositivo che stai usando, non sul tuo server. Va preso come ordine di grandezza.
Verifica le tue impostazioni attuali
Inserisci ciò che la tua applicazione usa oggi. Il verdetto lo confronta con i minimi pubblicati, niente di più.
Raggiunge il minimo OWASP
Configurazione raggiunta: m=19456 KiB, t=2, p=1
Il parallelismo è mostrato ma non valutato: OWASP lo presenta come un compromesso, non come una soglia.
Soglie lette dalla OWASP Password Storage Cheat Sheet (2026-09-06)
I minimi pubblicati
Sono i valori elencati dalla OWASP Password Storage Cheat Sheet, trascritti senza interpretazione. Le cinque righe Argon2id sono presentate come equivalenti tra loro, e così le cinque righe scrypt: si sceglie quella che rientra nel proprio budget di CPU e RAM, non è richiesto soddisfarle tutte e cinque.
Ordine di preferenza indicato da OWASP: Argon2id > scrypt > bcrypt > PBKDF2
Budget di tempo indicato: un hash deve richiedere meno di un secondo. (1000 ms)
| Argon2id | memory | iterations (t) | parallelism (p) |
|---|---|---|---|
| 46 MiB | m=47104 | t=1 | p=1 |
| 19 MiB | m=19456 | t=2 | p=1 |
| 12 MiB | m=12288 | t=3 | p=1 |
| 9 MiB | m=9216 | t=4 | p=1 |
| 7 MiB | m=7168 | t=5 | p=1 |
| scrypt | N | r | p |
|---|---|---|---|
| 128 MiB | 2^17 | r=8 | p=1 |
| 64 MiB | 2^16 | r=8 | p=2 |
| 32 MiB | 2^15 | r=8 | p=3 |
| 16 MiB | 2^14 | r=8 | p=5 |
| 8 MiB | 2^13 | r=8 | p=10 |
| PBKDF2 | iterations |
|---|---|
| HMAC-SHA-256 | 600,000 |
| HMAC-SHA-512 | 220,000 |
| HMAC-SHA-1 | 1,400,000 |
| bcrypt | cost >= 10 |
bcrypt limita inoltre l'ingresso a 72 byte, e OWASP mette in guardia da un pre-hashing ingenuo, per via del trattamento dei byte nulli e del password shucking.
Soglie lette dalla OWASP Password Storage Cheat Sheet (2026-09-06)
Perché un banco di prova e non una raccomandazione
Un numero di iterazioni non è una proprietà dell'algoritmo, è una proprietà del tuo hardware. Un valore comodo su un server del 2026 può bloccare un container condiviso. Per questo la seconda metà di questa pagina misura invece di consigliare.
La misura usa PBKDF2 tramite l'API Web Crypto nativa del browser. Nessuna libreria viene scaricata, nulla viene trasmesso, ed entrambe le affermazioni si verificano nella scheda Rete del browser.
Cosa questa misura non è
Un browser non è il tuo server di produzione. Web Crypto esegue codice nativo, ma lo esegue sul tuo dispositivo, dentro una scheda, accanto a tutto il resto che hai aperto. Leggi il risultato come un ordine di grandezza per la macchina che hai davanti, non come un banco di prova del tuo backend. Argon2id e scrypt non sono misurati qui di proposito: nessuno dei due è esposto da Web Crypto, e imbarcare una build WebAssembly misurerebbe la build, non il tuo server.
Domande frequenti
Quale algoritmo scegliere per codice nuovo?
OWASP mette Argon2id per primo, poi scrypt se Argon2id non è disponibile, poi bcrypt per i sistemi legacy, poi PBKDF2 quando serve la conformità FIPS-140. Quell'ordine è il loro, non il nostro.
La mia memoria Argon2id è sotto 47104 KiB. È una bocciatura?
Non necessariamente. OWASP elenca cinque configurazioni equivalenti, e una memoria minore è accettabile se il numero di iterazioni sale a compensare: 19456 KiB con t=2, 12288 con t=3, 9216 con t=4, 7168 con t=5. Il verificatore di questa pagina approva le tue impostazioni se raggiungono una qualsiasi delle cinque.
Perché il verificatore ignora il parallelismo?
Perché OWASP lo presenta come un compromesso, non come una soglia da superare. Mostriamo il valore che inserisci e valutiamo solo memoria e iterazioni. Dirlo è più utile che fingere una precisione che la fonte non dà.
Il banco di prova trasmette la mia password?
Il banco di prova non usa affatto la tua password. Deriva dei bit da una stringa sonda fissa e da un sale casuale, solo per cronometrare l'operazione. In quella sezione non c'è alcun campo password.
Quanto sono aggiornate queste cifre?
Sono state lette dalla OWASP Password Storage Cheat Sheet il 2026-09-06. OWASP le rivede man mano che l'hardware accelera: considera quella data parte della risposta e segui il link alla fonte per conferma.