Decodificatore Hash Password

Gli hash delle password archiviano le credenziali in modo sicuro utilizzando funzioni unidirezionali con salt e fattori di lavoro configurabili. Questo strumento rileva e analizza automaticamente gli hash nei formati Modular Crypt Format (MCF), PHC String Format e schemi LDAP, mostrando l'algoritmo, i parametri, il salt, l'output dell'hash e una valutazione della sicurezza.

Specifiche

Casi d'uso comuni

  • Identificare quale algoritmo di hashing utilizza un database per le password
  • Verificare la sicurezza degli hash delle password durante test di penetrazione o revisioni di sicurezza
  • Verificare che i fattori di costo di bcrypt e i parametri di Argon2 soddisfino le raccomandazioni OWASP
  • Comprendere gli schemi di archiviazione delle password nelle directory LDAP
  • Debug dei problemi di autenticazione ispezionando formato e parametri dell'hash

Funzionalità

  • Rilevamento automatico dei formati MCF ($1$, $2b$, $5$, $6$, $sha1$, $apr1$), PHC ($argon2id$, $scrypt$, $pbkdf2$) e LDAP ({SSHA}, {SHA}, {MD5})
  • Visualizzazione di algoritmo, variante, parametri (costo, round, memoria, parallelismo), salt e output dell'hash
  • Valutazione della sicurezza: critico (MD5/senza salt), debole (SHA-1/costo basso), moderato (SHA-crypt), forte (bcrypt 12+/argon2/scrypt)
  • Raccomandazioni di valutazione della sicurezza con codice colore
  • Visualizzazione del formato di codifica dell'hash (base64, hex, ecc.)
  • Analisi di hash multipli da input multilinea
  • Visualizzazione della lunghezza in bit dell'hash e del formato di codifica
  • Link alle specifiche pertinenti per ogni algoritmo

Esempi

Hash password bcrypt

Provalo →

Un hash bcrypt con fattore di costo 12 — il minimo raccomandato per nuove applicazioni.

$2b$12$LJ3m4ys3Lg2VBe5E5Ij25eNsaDl3JK8i3pg7jBepGQhWcqMpqXA4q

Hash password Argon2id

Provalo →

Argon2id con 64 MB di memoria, 3 iterazioni e 4 thread — l'attuale best practice.

$argon2id$v=19$m=65536,t=3,p=4$c29tZXNhbHQ$RdescudvJCsgt3ub+b+daw

Suggerimenti

  • Il fattore di costo bcrypt 12+ e raccomandato da OWASP. Ogni incremento raddoppia il tempo di calcolo.
  • Argon2id e l'attuale best practice — combina la resistenza ai canali laterali (argon2i) e la resistenza alle GPU (argon2d).
  • LDAP {SSHA} e SHA-1 con salt — meglio di {SHA} ma comunque un hash veloce. Migra a bcrypt o Argon2.
  • Incolla l'output dell'hashing della password dal pannello Encode As per decodificarlo e verificarlo qui.

Approfondimenti Decodificatore Hash Password

L'hashing delle password e la pratica di archiviare le password come hash crittografici unidirezionali invece che in testo semplice. Quando un utente imposta una password, il sistema la sottopone a hashing e archivia l'hash. Durante il login, il sistema sottopone a hashing la password inviata e confronta il risultato con l'hash archiviato. Poiche la funzione di hash e unidirezionale, un attaccante che ottiene il database degli hash non puo recuperare direttamente le password.

Gli algoritmi moderni di hashing delle password sono intenzionalmente lenti e ad alta intensita di memoria per resistere agli attacchi di forza bruta. bcrypt utilizza un fattore di costo configurabile dove ogni incremento raddoppia il tempo di calcolo. Argon2 (vincitore della Password Hashing Competition 2015) aggiunge un utilizzo di memoria configurabile per resistere agli attacchi basati su GPU. Anche scrypt richiede una quantita significativa di memoria. Questi "hash lenti" sono fondamentalmente diversi dagli hash veloci (MD5, SHA-256) che sono progettati per la velocita e sono inadatti per l'archiviazione delle password.

Gli hash delle password utilizzano formati stringa standardizzati per la portabilita. Il Modular Crypt Format (MCF) usa delimitatori $: $2b$12$... per bcrypt, $5$ per SHA-256-crypt, $6$ per SHA-512-crypt. Il PHC String Format (usato da Argon2) aggiunge parametri denominati: $argon2id$v=19$m=65536,t=3,p=4$salt$hash. I sistemi LDAP usano prefissi di schema: {SSHA}, {PBKDF2}.

Ogni hash include un salt — dati casuali combinati con la password prima dell'hashing per garantire che password identiche producano hash diversi. Senza salt, gli attaccanti possono usare tabelle arcobaleno precalcolate per cercare istantaneamente gli hash delle password comuni. Il salt e archiviato insieme all'hash (non e segreto) e viene generato casualmente per ogni password.

Per le nuove applicazioni, Argon2id e l'attuale best practice raccomandata da OWASP. Se Argon2 non e disponibile nel tuo framework, bcrypt con fattore di costo 12+ e la migliore alternativa, e anche scrypt e accettabile. MD5, SHA-1 e SHA-256 semplice non dovrebbero mai essere usati per le password — sono troppo veloci e possono essere forzati a miliardi di tentativi al secondo su GPU moderne. MD5 in particolare e stato progettato come algoritmo di checksum veloce, non per l'archiviazione delle password, e presenta vulnerabilita di collisione note. Gli hash MD5 senza salt sono anche vulnerabili agli attacchi con tabelle arcobaleno.

Il fattore di costo di bcrypt (il numero dopo $2b$) e un esponente che controlla il tempo di calcolo. Costo 10 significa 2^10 = 1.024 iterazioni, mentre costo 12 significa 2^12 = 4.096 iterazioni — quattro volte piu lento del costo 10. OWASP raccomanda il costo 12 come minimo. Ogni incremento raddoppia il tempo, quindi aumentare da 10 a 12 rende l'hashing 4 volte piu lento sia per il server che per qualsiasi attaccante.

Un salt e un pepper svolgono ruoli diversi nella sicurezza delle password. Un salt e costituito da dati casuali archiviati insieme all'hash, unici per ogni password, che garantiscono che password identiche producano hash diversi — i salt non sono segreti. Un pepper e una chiave segreta applicata a tutte le password (tipicamente tramite HMAC), archiviata separatamente dal database nella configurazione dell'applicazione o in un modulo di sicurezza hardware. Se il database viene compromesso ma il pepper no, l'attaccante non puo decifrare gli hash anche avendo i salt. L'utilizzo di entrambi fornisce una difesa in profondita.

← Torna a tutti gli strumenti