Jelszóerősség-detektor

Jelszóerősség, entrópia és gyakori gyenge pontok ellenőrzése. Minden ellenőrzés a böngészőben helyben fut.

Erősség-ellenőrzés

Entrópia
Erősség:
Offline (gyors GPU) feltörési idő becslése
Online (sebességkorlátozott) feltörési idő becslése
Ellenőrzési eredmények
  • Hossz
  • Kisbetűk
  • Nagybetűk
  • Számok
  • Jelöltek
  • Sorozat
  • Ismétlődés
  • Feketelista
  • Billentyűzetminta
  • Dátum
  • Periodikus
Szabályzat beállítása
Vesszővel elválasztva, kis- és nagybetűket nem különbözteti meg. Támogatja a Leet normalizálást (pl. Pa$$w0rd → password).
Optimalizálási javaslatok
Adatvédelmi megjegyzés: A vizsgálat teljesen a böngészőben történik helyben, a jelszó nem kerül feltöltésre.

Használati útmutató

Jelszók helyi elemzése és végrehajtható optimalizálási javaslatok kinyerése.
1) Írja be vagy illessze be a jelszót; az eredmények valós időben frissülnek.
2) Állítsa be igény szerint a szabályzatot (minimális hossz / karaktertípus-követelmények).
3) Vegye fel a gyakori gyenge szavakat a feketelistára, hogy segítsen az azonosításban (támogatja a Leet normalizálást).
4) Használja az importálást / exportálást a szabályzatbeállítások megosztásához.

Funkciók

  • 100% helyi elemzés, elsőbbséget kap a privacy. (注:“privacy”在匈牙利语中一般也用英文,严格对应匈牙利语是“személyes adatvédelem”,但为了更符合语境保留英文)
  • Speciális detektálás: billentyűzet-mozgás, dátum, periodikus ismétlés, sorrend, ismétlés stb.
  • Leet normalizált feketelistás egyeztetés (pl. Pa$$w0rd → password).
  • Flexibilis szabályzat: minimális hossz és karaktertípus-követelmények.
  • Egy gombnyomással importálhatja/exportálhatja a szabályzatot JSON formátumban.
  • Egy gombnyomással elemzhető a detektorból

Jelszók összehasonlítása

Összehasonlítás eredménye
Entrópia (A): Entrópia (B):

Gyakori kérdések

Feltöltik-e a jelszavam?
Nem. Minden elemzés csak a böngésződön belül történik.
Mi a jelentése az „entrópia” kifejezésnek?
Közvetve azt jelenti, hány próbálkozásra van szükség ahhoz, hogy kitalálják. Ha van struktúra, a valódi erősség csökken.
Miért csökkent a pontszám?
A sorozatok, dátumok vagy billentyűzet-mozgások stb. mintái csökkentik az erősséget.

Jelentés

A jelentés nem tartalmazza a jelszó szövegét, csak az indexeket és a beállításokat.

Kapcsolódó tudnivalók
Entrópia

Az entrópia segítségével becsülhető meg a karakterhalmaz és a hossz alapján a keresési tér mérete. Ha van struktúra (minta, szó), akkor az érvényes entrópia csökkenhet, még ha az eredeti bitmennyiség nagy is tűnik.

A detektorok magyarázata
  • Sorrendben egymást követő karakterek, pl. abcde vagy 12345.
  • Egy karakter hosszú ismétlődése (pl. aaaa).
  • Egyezés a testreszabott feketelistában szereplő gyakori gyenge szavakkal vagy mintákkal.
  • Billentyűzet sorrendjében elhelyezkedő karakterek (pl. qwerty, asdf).
  • Dátum formátum (pl. YYYYMMDD, dd-mm-yyyy).
  • Ismétlődő részsztringek (pl. abcabc, 121212).
  • Leet normalizálás a feketelistával való összehasonlítás előtt (pl. Pa$$w0rd → password).
A feltörési idő figyelmeztetése

A feltörési idő csak nagyjából becsült érték. A valós támadásokban szótárral, maszkokkal és GPU-val dolgoznak. A rövid és strukturált jelszavak gyakran sokkal gyengébbek, mint az entrópiajukból látszik.

A legjobb gyakorlatok
  • Használjon előnyben hosszú, véletlenszerű passzszót (4 vagy több szó) vagy jelszókészítő által generált jelszót.
  • Kerülje a személyes adatokat, dátumokat és előre jelezhető struktúrákat.
  • Használjon jelszókészítőt, és ha lehetséges, engedélyezze a többtényezős hitelesítést (MFA).
  • Ne használja újra ugyanazt a jelszót; csak akkor cserélje le, ha kiszivárgott.

Hogyan lehet programozási nyelven ellenőrizni a jelszóerősséget

Az alábbiakban egy minimális példa van a közösség kiforrott könyvtárainak használatára, választhatja a saját technológiai veremének megfelelően.

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

Megjegyzés: Ezek a könyvtárak erősséget és mintázatbecslést adnak, lehet, hogy némileg eltérőek a jelen oldalon található detektálási elemekkel.