Hash/Crittografia

PBKDF2 Hash + Verify

Deriva una chiave con PBKDF2 (RFC 8018) da una password, HMAC-SHA1/256/384/512, con numero di iterazioni configurabile.


                    

PBKDF2 (RFC 8018) applies HMAC to a password and salt repeatedly to deliberately slow down computation — it's the oldest of the standardized algorithms for password hashing and encryption key derivation.

How to use it

Common uses

Things to keep in mind

Unlike bcrypt and Argon2, PBKDF2 isn't memory-hard — it only requires CPU time, so it's less resistant to attacks on GPUs with many parallel compute units.

The recommended iteration count rises over time in NIST and OWASP guidance as hardware gets faster — check against current recommendations periodically.

Articolo su questo strumento: PBKDF2: lo standard più vecchio per lo stretching delle chiavi

Domande frequenti

In cosa differisce PBKDF2 da bcrypt o Argon2 per l'hashing delle password?

PBKDF2 applica ripetutamente una funzione hash HMAC per rallentare il brute-force, ma a differenza di bcrypt o Argon2 non richiede molta memoria, rendendolo comparativamente più economico da violare con le GPU. È ancora ampiamente usato e approvato FIPS, ma Argon2 è generalmente preferito per i nuovi sistemi.

Cosa controlla il numero di iterazioni, e quanto dovrebbe essere alto?

Il numero di iterazioni imposta quante volte viene applicato l'hash sottostante, scambiando direttamente velocità con resistenza al brute-force. Le linee guida attuali raccomandano centinaia di migliaia di iterazioni per SHA-256, aumentate nel tempo man mano che l'hardware migliora.

Perché PBKDF2 ha bisogno di un salt?

Un salt garantisce che password identiche producano output diversi, impedendo agli attaccanti di usare rainbow table precalcolate e costringendoli ad attaccare ogni hash individualmente.

La funzione hash di base usata da PBKDF2 fa differenza?

Sì. Le vecchie implementazioni spesso usavano HMAC-SHA1 come predefinito — nella costruzione HMAC non è una vulnerabilità critica, ma le raccomandazioni moderne consigliano nettamente HMAC-SHA256 o superiore per un margine di sicurezza maggiore senza una perdita di velocità significativa.

Dove viene usato PBKDF2 oltre alla memorizzazione delle password?

PBKDF2 è ampiamente usato per derivare chiavi crittografiche di cifratura dalle password — ad esempio in WPA2/WPA3 per il Wi-Fi e in molti formati di contenitori di file cifrati.

Articoli: Hash/Crittografia

Hash Generator: in cosa differiscono MD5, SHA-1 e SHA-256

Perché MD5 viene ancora usato per verificare l'integrità dei file, ma non per le password.

Checksum Verifier: come verificare che un file non sia danneggiato

Perché un checksum corrispondente conferma l'integrità di un file, ma non chi lo ha creato.

HMAC: in cosa differisce un hash con chiave da un hash normale

Perché un semplice SHA-256 non protegge dalla manomissione di un messaggio, ma HMAC sì.

Bcrypt: perché le password vengono hashate lentamente, non velocemente

Perché un SHA-256 veloce è una cattiva scelta per le password, e un bcrypt lento è quella giusta.

UUID: come vengono generati identificatori che quasi non si ripetono mai

Perché un UUID v4 può essere generato in modo indipendente su milioni di macchine senza rischio di collisione.

Generatore di password: cosa rende davvero forte una password

Perché una password lunga fatta di parole del dizionario è più forte di una corta con simboli e numeri.

AES: come funziona la crittografia simmetrica

Perché la stessa chiave cifra e decifra i dati in AES, e come questo differisce dalla crittografia asimmetrica.

Argon2: perché questo algoritmo ha vinto il concorso sull'hashing delle password

Come Argon2 si difende meglio dagli attacchi con GPU rispetto agli algoritmi di hashing password più vecchi.

Scrypt: perché l'algoritmo ha bisogno di così tanta memoria

Perché scrypt richiede deliberatamente molta memoria per rendere più difficile il cracking su dispositivi ASIC.

TOTP: come funzionano i codici monouso nelle app di autenticazione

Perché il codice di Google Authenticator funziona senza internet e si sincronizza col server solo tramite l'ora.

X.509: cosa c'è dentro un certificato SSL

Cosa controlla esattamente il browser nel certificato di un sito prima di mostrare il lucchetto verde.

PGP: come funziona la crittografia a chiave pubblica e privata

Perché si può condividere liberamente una chiave pubblica PGP, ma mai quella privata.