Detector de putere a parolei

Detectați puterea parolei, entropia și punctele slabe comune. Toate testele se execută local în browserul dumneavoastră.

Testare putere

Entropie
Putere:
Estimarea timpului de decriptare offline (GPU de mare viteză)
Estimarea timpului de decriptare online (viteză limitată)
Rezultate testare
  • Lungime
  • Litere mici
  • Litere mari
  • Cifre
  • Simboluri
  • Secvență
  • Repetare
  • Listă neagră
  • Mod tastatură
  • Dată
  • Perioadă
Configurarea politicii
Separate prin virgulă, fără a face distincție între litere mici și mari. Suport pentru normalizarea Leet (de exemplu, Pa$$w0rd → password).
Sugestii de optimizare
Declarație de confidențialitate: Detectarea se face complet pe browserul dvs. local, parola nu va fi încărcată.

Mod de utilizare

Analizați parola local și obțineți sugestii de optimizare executabile.
1) Introduceți sau lipiți parola; rezultatele se vor actualiza în timp real.
2) Ajustați politica după nevoi (lungime minimă/cerințe de tipuri de caractere).
3) Adăugați cuvinte slabe comune în lista neagră pentru a ajuta la recunoaștere (se acceptă normalizarea Leet).
4) Utilizați importul/exportul pentru a partaja setările politicii.

Caracteristici funcționale

  • 100% analiza locală, prioritate pentru protecția datelor personale.
  • Detectori avansați: mutări pe tastatură, date, repetare periodică, ordine, repetare etc.
  • Potrivire cu lista neagră normalizată Leet (de exemplu, Pa$$w0rd → password).
  • Politici flexibile: lungime minimă și cerințe pentru tipurile de caractere.
  • Import/Export politici JSON cu un singur clic.
  • Analiză în detectori cu un singur clic

Compararea parolelor

Rezultatul comparării
Entropia (A): Entropia (B):

Întrebări frecvente

Parola mea va fi încărcată pe server?
Nu. Toate analizele se efectuează doar în browserul tău.
Ce înseamnă „entropia”?
Indică aproximativ de câte ori trebuie să se încerce pentru a ghici parola. Când există o structură, puterea reală a parolei scade.
De ce a scăzut scorul?
Modele precum secvențe, date sau mutări pe tastatură reduc puterea parolei.

Raport

Raportul nu conține textul parolei, ci doar indicatori și setări.

Cunoștințe relevante
Entropie

Entropia este utilizată pentru a estima dimensiunea spațiului de căutare bazat pe setul de caractere și lungime. Dacă există o structură (modele, cuvinte), entropia efectivă se reduce, chiar dacă numărul de biți inițial pare mare.

Explicații pentru elementele de detectare
  • Secvențe ordonate, cum ar fi abcde sau 12345.
  • Repetări lungi ale aceluiași caracter (de exemplu, aaaa).
  • Potrivire cu cuvinte slabe sau modele comune din lista neagră personalizată.
  • Secvențe de taste din tastatură sau taste adiacente (de exemplu, qwerty, asdf).
  • Formatul datelor (de exemplu, YYYYMMDD, dd-mm-yyyy).
  • Subșiruri repetate (de exemplu, abcabc, 121212).
  • Normalizarea Leet înaintea potrivirii cu lista neagră (de exemplu, Pa$$w0rd → password).
Atenție la timpul de descifrare

Timpul de descifrare este doar o estimare aproximativă. Atacurile reale utilizează dicționare, mascați și GPU-uri. Parolele scurte și cu o structură evidentă sunt adesea mult mai slabe decât entropia lor aparență.

Cele mai bune practici
  • Utilizați în primul rând fraze de acces aleatorii mai lungi (4 cuvinte sau mai multe) sau parole generate de un manager de parole.
  • Evitați informațiile personale, datele și structurile previzibile.
  • Utilizați un manager de parole și activați, dacă este posibil, autentificarea multi - factor (MFA).
  • Nu repetați parolele; schimbați - le doar în cazul unei dezvăluiri.

Cum să verificați puterea parolei prin limbaje de programare

Iată un exemplu minim de utilizare a bibliotecilor mature ale comunității. Poți alege în funcție de stiva ta tehnologică.

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}"),
    }
}
                        

Notă: Aceste biblioteci oferă estimări ale puterii și modelelor, care pot diferi ușor de elementele de detectare de pe această pagină.