Detektor siły hasła
Sprawdź siłę hasła, wartość entropii i typowe słabe punkty. Wszystkie sprawdzenia są wykonywane lokalnie w Twojej przeglądarce.
Sprawdzenie siły
- Długość
- Małe litery
- Duże litery
- Cyfry
- Znaki specjalne
- Sekwencje
- Powtórzenia
- Lista czarna
- Schemat klawiatury
- Data
- Periodyczność
- Wygląda dobrze! Nie mamy obecnie wskazówek dotyczących poprawy.
Sposób użycia
Funkcje i zalety
- 100% lokalna analiza, z priorytetem na ochronę prywatności.
- Zaawansowane detektory: ruchy po klawiaturze, daty, powtórzenia periodyczne, sekwencje, powtórzenia itp.
- Dopasowywanie czarnej listy z normalizacją Leet (np. Pa$$w0rd → password).
- Elastyczne zasady: minimalna długość i wymagania dotyczące typów znaków.
- Import/eksport zasad w formacie JSON jednym kliknięciem.
- Analiza w detektorze jednym kliknięciem
Najczęściej zadawane pytania
Entropia służy do oszacowania wielkości przestrzeni wyszukiwania na podstawie zestawu znaków i długości. Jeśli hasło ma strukturę (wzorce, słowa), nawet jeśli pierwotna ilość bitów wydaje się wysoka, skuteczna entropia zostanie zmniejszona.
- Sekwencje uporządkowane, np. abcde lub 12345.
- Długie powtórzenia tego samego znaku (np. aaaa).
- Pasuje do słabych słów/wzorców z niestandardowej czarnej listy.
- Sekwencje klawiszy na klawiaturze lub sąsiednich klawiszy (np. qwerty, asdf).
- Formaty daty (np. YYYYMMDD, dd-mm-yyyy).
- Powtarzające się podciągi (np. abcabc, 121212).
- Normalizacja Leet przed dopasowaniem do czarnej listy (np. Pa$$w0rd → password).
Czas złamania to tylko szacunkowa wartość. W rzeczywistych atakach używa się słowników, mask i GPU. Krótkie hasła o wyraźnej strukturze są często znacznie słabsze niż wskazuje na to ich entropia.
- Wartośćuj dłuższe losowe frazy dostępu (4 lub więcej słów) lub hasła wygenerowane przez menedżera haseł.
- Unikaj informacji osobistych, dat i przewidywalnych struktur.
- Używaj menedżera haseł i jak najczęściej włączaj uwierzytelnianie wieloskładnikowe (MFA).
- Nie używaj ponownie haseł; zmieniaj je tylko w przypadku wycieku.
Jak sprawdzić siłę hasła za pomocą języka programowania
Oto minimalny przykład wykorzystania udoskonalonych bibliotek społecznościowych. Możesz wybrać zgodnie ze swoim stosem technologicznym.
<!-- 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}"),
}
}
Uwaga: Te biblioteki podają oszacowania siły i wzorców, które mogą nieco różnić się od pozycji detekcji na tej stronie.