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

Entropia
Forza:
Stima del tempo di cracking offline (GPU ad alta velocità)
Stima del tempo di cracking online (velocità limitata)
Risultati della verifica
  • Lunghezza
  • Lettere minuscole
  • Lettere maiuscole
  • Cifre
  • Simboli
  • Sequenza
  • Ripetizioni
  • Lista nera
  • Modalità tastiera
  • Data
  • Periodo
Configurazione delle politiche
Separati da virgole, senza distinzione tra maiuscole e minuscole. Supporta la normalizzazione in Leet (ad esempio Pa$$w0rd → password).
Suggerimenti per l'ottimizzazione
Nota sulla privacy: il rilevamento avviene completamente in locale nel tuo browser e le password non vengono caricate.

Come usare

Analizza le password in locale e ottieni suggerimenti ottimizzati eseguibili.
1) Inserisci o incolla la password; i risultati verranno aggiornati in tempo reale.
2) Regola le politiche (lunghezza minima/requisiti per il tipo di carattere) secondo le tue esigenze.
3) Aggiungi parole deboli comuni alla lista nera per facilitare il riconoscimento (supporto per la normalizzazione Leet).
4) Condividi le impostazioni delle politiche tramite l'importazione/esportazione.

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

Confronto delle password

Risultato del confronto
Entropia (A): Entropia (B):

Domande frequenti

La mia password verrà caricata?
No. Tutte le analisi vengono eseguite solo all'interno del tuo browser.
Cos'è l'"entropia"?
Rappresenta approssimativamente il numero di tentativi necessari per indovinare. Quando ci sono strutture, la forza reale diminuisce.
Perché il punteggio è diminuito?
Schema come sequenze, date o movimenti sulla tastiera riducono la forza.

Report

Il rapporto non contiene il testo della tua password, ma solo indicatori e impostazioni.

Conoscenze correlate
Entropia

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.

Spiegazione degli elementi di rilevamento
  • 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).
Nota sul tempo di decrittazione

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.

Migliori pratiche
  • 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.

JavaScript
<!-- 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>
                        
Node.js
// npm i @zxcvbn-ts/core
import { zxcvbn } from '@zxcvbn-ts/core';

const result = zxcvbn('P@ssw0rd!');
console.log(result.score, result.guesses_log10);
                        
PHP
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'];
                        
Python
pip install zxcvbn
                        
from zxcvbn import zxcvbn

res = zxcvbn('P@ssw0rd!')
print(res['score'], res['crack_times_display'])
                        
Go
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)
}
                        
Rust
# 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.