Detector di forza della password
Verifica la forza, l'entropia e le debolezze comuni delle password. Tutte le verifiche vengono eseguite localmente nel tuo browser.
Verifica della forza
- Lunghezza
- Lettere minuscole
- Lettere maiuscole
- Cifre
- Simboli
- Sequenza
- Ripetizioni
- Lista nera
- Modalità tastiera
- Data
- Periodo
- Sembra tutto a posto! Non ci sono attualmente suggerimenti per il miglioramento.
Come usare
Caratteristiche principali
- 100% analisi locale, con priorità alla protezione della privacy.
- Rilevatori avanzati: movimenti sulla tastiera, date, ripetizioni periodiche, sequenze, ripetizioni, ecc.
- Corrispondenza con la lista nera normalizzata in Leet (ad esempio Pa$$w0rd → password).
- Politiche flessibili: requisiti per la lunghezza minima e il tipo di caratteri.
- Importa/esporta le politiche JSON con un clic.
- Analizza nel rilevatore con un clic
Domande frequenti
L'entropia viene utilizzata per stimare la dimensione dello spazio di ricerca basato sull'insieme di caratteri e sulla lunghezza. Se ci sono strutture (schemi, parole), anche se i bit originali sembrano elevati, l'entropia effettiva si riduce.
- Sequenze ordinate, come abcde o 12345.
- Lunghe ripetizioni dello stesso carattere (ad esempio aaaa).
- Corrispondenza con parole/schemi comuni e deboli nella lista nera personalizzata.
- Sequenze di tasti sulla tastiera o tasti adiacenti (ad esempio qwerty, asdf).
- Stili di data (ad esempio YYYYMMDD, dd-mm-yyyy).
- Sottostringhe ripetute (ad esempio abcabc, 121212).
- Normalizzazione Leet prima della corrispondenza con la lista nera (ad esempio Pa$$w0rd → password).
Il tempo di decrittazione è solo una stima approssimativa. Gli attacchi reali utilizzano dizionari, maschere e GPU. Le password corte e con una struttura evidente sono spesso molto più deboli rispetto all'entropia apparente.
- Utilizza preferibilmente frasi di accesso casuali lunghe (4 o più parole) o password generate da un gestore di password.
- Evita informazioni personali, date e strutture prevedibili.
- Utilizza un gestore di password e abilita l'autenticazione a più fattori (MFA) quando possibile.
- Non riutilizzare le password; cambiale solo in caso di violazione.
Come verificare la forza delle password tramite linguaggi di programmazione
Ecco un esempio minimo che utilizza librerie consolidate dalla comunità. Puoi scegliere in base alla tua stack tecnologica.
<!-- CDN -->
<script src="https://unpkg.com/[email protected]/dist/zxcvbn.js"></script>
<script>
const res = zxcvbn('P@ssw0rd!');
console.log(res.score, res.crack_times_display);
</script>
// npm i @zxcvbn-ts/core
import { zxcvbn } from '@zxcvbn-ts/core';
const result = zxcvbn('P@ssw0rd!');
console.log(result.score, result.guesses_log10);
composer require bjeavons/zxcvbn-php
<?php
require __DIR__ . '/vendor/autoload.php';
use ZxcvbnPhp\\Zxcvbn;
$zxcvbn = new Zxcvbn();
$res = $zxcvbn->passwordStrength('P@ssw0rd!');
echo $res['score'];
pip install zxcvbn
from zxcvbn import zxcvbn
res = zxcvbn('P@ssw0rd!')
print(res['score'], res['crack_times_display'])
go get github.com/nbutton23/zxcvbn-go
package main
import (
"fmt"
zxcvbn "github.com/nbutton23/zxcvbn-go"
)
func main() {
res := zxcvbn.PasswordStrength("P@ssw0rd!", nil)
fmt.Println(res.Score, res.Guesses)
}
# Add dependency
cargo add zxcvbn
use zxcvbn::zxcvbn;
fn main() {
match zxcvbn("P@ssw0rd!", &[]) {
Ok(estimate) => {
println!("score: {}", estimate.score()); // 0..4
if let Some(times) = estimate.crack_times() {
println!("offline: {:?}", times.offline_slow_hashing_1e4_per_second());
}
}
Err(err) => eprintln!("zxcvbn error: {err}"),
}
}
Nota: Queste librerie forniscono stime sulla forza e sui modelli e potrebbero differire leggermente dai rilevatori di questa pagina.