Verificator de putere a parolei
Analiză în timp real cu motorul zxcvbn: dicționarele de parole comune, șirurile de taste pe tastatură, secvențele, repetițiile și datele vă scad punctajul – o măsură de securitate mult mai corectă decât numărarea claselor majuscule/minuscule/cifre/simboluri. Totul rulează local; parola dumneavoastră nu părăsește niciodată browserul.
- Motor
- zxcvbn
- Punctaj
- scară de la 0 la 4
- Confidențialitate
- Nu este niciodată încărcat
- Dicționar
- Parole comune integrate
Setări avansate ale politicii
Separate prin virgulă sau linie nouă, fără a ține cont de majuscule/minuscule. zxcvbn recunoaște automat variații de caz, înlocuiri de tip leet (ex: Pa$$w0rd) și inversări.
Compară două parole
DE CE ESTE IMPORTANT
De ce „majusculă + minusculă + cifră + simbol” nu înseamnă securitate
P@ssw0rd! îndeplinește toate cele patru criterii de caractere și totuși se află în topul listelor de parole compromise. Puterea unei parole depinde de dificultatea de a fi ghicit, nu de calculul între clasele de caractere.
Potrivire cu parole slabe
Un dicționar încorporat de parole și cuvinte comune penalizează puternic — „parolă”, „123456” și „P@ssw0rd” sunt evaluate corect ca fiind foarte slabe.
Detectarea modelelor
Mersuri pe tastatură, secvențe drepte, repetări, date și cuvinte comune reduc spațiul efectiv de ghicire.
Entropie efectivă, nu teoretică
Scorul estimează numărul real de încercări de ghicire din structurile găsite — nu dimensiunea setului de caractere înmulțită cu lungimea.
Două scenarii de atac
Estimări separate pentru spargerea offline pe GPU și ghicirea online cu limită de rată ajută la înțelegerea costului pentru atacator.
Policy personalizată și blocklist
Setează lungimea minimă și cerințele pentru clase; adaugă numele companiilor sau coduri de proiect pentru a respecta regulile corporative pentru parole.
Complet local
Parola ta nu părăsește niciodată browserul și nu atinge niciun server; setările rămân doar în localStorage.
Înțelegerea puterii parolelor
Cum funcționează scorarea, ce semnifică timpii de spargere și ce face efectiv o parolă bună.
Cum este calculat scorul zxcvbn de la 0 la 4?
zxcvbn împarte întâi parola în fragmente: cuvinte din dicționar (parole comune, cuvinte în engleză), mersuri pe tastatură, secvențe, repetări, date și fragmente de forță brută.
Estimează numărul de încercări de ghicire per fragment, le combină într-un total și le atribuie unui scor de la 0 la 4. Transformările comune sunt luate în considerare automat — inversarea majusculelor, înlocuiri de tip leet (@→a, 0→o), sufixe anuale — motiv pentru care P@ssw0rd are un scor slab în ciuda varietății de caractere.
Care este diferența dintre entropia efectivă și dimensiunea setului de caractere?
Dimensiunea setului de caractere înmulțește dimensiunea alfabetului cu lungimea — un plafon teoretic care presupune că fiecare caracter este complet aleatoriu, ceea ce parolele reale aproape niciodată nu sunt.
Entropia efectivă (numărul de biți afișat aici) reprezintă spațiul real de ghicire pe care îl estimează zxcvbn după ce găsește cuvinte și modele din dicționar. La aceeași lungime, iloveyou2024 are mult mai puțină entropie efectivă decât un șir aleatoriu.
Cum sunt estimați timpii de spargere — sunt fiabili?
Timpul de spargere = estimarea numărului de încercări de ghicire ÷ numărul de încercări pe secundă. Sunt afișate două viteze: ~10 miliarde/sec pentru o fermă GPU offline (atacatorul deține hash-ul) și ~100/oră pentru un login online cu limită de viteză.
Considerați-le ca ordine de mărime, nu ca previziuni: viteza reală depinde de algoritmul de hashing (bcrypt/Argon2 sunt cu ordine de mărime mai lente decât MD5), hardware și calitatea dicționarului. O abatere de 10× nu schimbă mare lucru; o diferență de un milion de ori da.
Ce anume face o parolă bună?
Două opțiuni solide: un șir aleatoriu de minimum 16 caractere dintr-un manager de parole, unic pentru fiecare site; sau o expresie parolă din minimum 4 cuvinte fără legătură (cum ar fi corect-horse-battery-staple) — lungă și lipsită de sens.
Indiferent de alegere, asociați-o cu autentificare multi-factor (MFA) și nu reutilizați nicio parolă pe mai multe site-uri.
Site-ul meu cere majuscule/minuscule/cifre/simboluri — de ce scorul este scăzut?
Politica corporativă (lungime, clase de caractere) reprezintă un prag de conformitate: răspunde la întrebarea "este conform?". Scorul zxcvbn răspunde la întrebarea "poate fi ghicit?". Cele două sunt independente.
Adăugarea unui semn de exclamare și a unui an la un cuvânt comun (parolă!2024) trece majoritatea verificărilor politice, dar cade în fața unui atac de dicționar în câteva secunde.
Este parola mea încărcată undeva?
Nu. Totul rulează în browser-ul dumneavoastră via JavaScript — nu există nicio cerere de rețea care să trimită parola și funcționează și offline. Doar politica dumneavoastră personalizată (reguli de lungime, listă neagră) este stocată local; nu conține niciodată o parolă.
Verificarea puterii parolei în cod
Pentru a adăuga verificări active ale rezistenței la propriul formular de înregistrare sau de schimbare a parolei, folosiți un port zxcvbn pentru limbajul dumneavoastră:
<!-- 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}"),
}
}
Scorurile și estimările modelelor de secvențe pot diferi puțin de această pagină în funcție de versiunile bibliotecilor, dar principiile sunt aceleași. Pentru verificări la nivel de server, impuneți și o limită de lungime și limită de viteză, astfel încât intrările supradimensionate să nu poată consuma inutil resursele CPU.
Întrebări frecvente
Cum funcționează acest verificator de rezistență a parolei?
Folosește zxcvbn, algoritmul open-source de la Dropbox: parola este comparată cu dicționarele de parole comune, liste de cuvinte în limba engleză, combinații de taste, secvențe, date și modele repetitive. Numărul estimat mediu de încercări de ghicire de care are nevoie un atacator este mapat la un scor de la 0 la 4 și estimări ale timpului de spargere.
P@ssw0rd pare complex — de ce este "foarte slabă"?
Este una dintre cele mai iconice parole slabe din bazele de date ale breșelor. Apare direct în dicționarele zxcvbn, iar capitalizarea plus înlocuiri leet (a→@, o→0) sunt recunoscute automat. Caractere variate cu o structură complet predictibilă este exact ceea ce încearcă mai întâi dicționarele de atacatori bazate pe reguli.
Cât de lungă ar trebui să fie o parolă?
Când este generată aleatoriu, minimum 12 caractere învinge de obicei atacurile online, în timp ce minimum 16 rezistă la spargerea GPU offline pentru mulți ani. Lungimea contează mai mult decât complexitatea caracterelor: un șir aleatoriu de 20 de caractere minuscule învinge un șir de 10 caractere amestecate din toate cele patru clase.
De ce se separă timpii de spargere offline și online?
Scenariile de atac diferă: după o breșă de bază de date, un atacator poate încerca hash-uri local pe GPU-uri la miliarde de încercări pe secundă; împotriva unui login activ, limita de viteză permite doar câteva încercări pe secundă. Aceeași parolă poate supraviețui cu un trilion de ori mai mult într-un scenariu decât în celălalt — de aceea sunt afișate ambele.
Intrările mele sunt stocate undeva?
Nu. Parola dumneavoastră există doar în memoria browser-ului și dispare la reîmprospătare. Doar setările politicii dumneavoastră personalizate (reguli de lungime, listă neagră) sunt păstrate în stocarea locală — nu conțin niciodată o parolă.