Pengesan Kekuatan Kata Laluan
Uji kekuatan kata laluan, nilai entropi dan kelemahan biasa. Semua ujian dijalankan secara tempatan dalam pelayar anda.
Pemeriksaan Kekuatan
- Panjang
- Huruf Kecil
- Huruf Besar
- Digit
- Simbol
- Urutan
- Pengulangan
- Senarai Hitam
- Mod Papan Kekunci
- Tarikh
- Kitaran
- Kelihatan bagus! Tiada petunjuk untuk diperbaiki buat masa ini.
Cara Penggunaan
Ciri-ciri Fungsian
- 100% analisis tempatan, mengutamakan perlindungan privasi.
- Pengesanan lanjutan: pola papan kekunci, tarikh, pengulangan berkala, urutan, pengulangan, dsb.
- Padanan senarai hitam normalisasi Leet (contoh: Pa$$w0rd → password).
- Dasar fleksibel: keperluan panjang minimum dan jenis aksara.
- Import/Eksport dasar JSON dengan satu klik.
- Analisis dalam pengesan dengan satu klik
Soalan Lazim
Entropi digunakan untuk memperkirakan ukuran ruang pencarian berdasarkan himpunan karakter dan panjang. Jika ada struktur (pola, kata), entropi efektif akan berkurang meskipun bit aslinya terlihat tinggi.
- Urutan berurutan, seperti abcde atau 12345.
- Pengulangan panjang karakter yang sama (seperti aaaa).
- Cocok dengan kata lemah/pola umum dalam daftar hitam khusus.
- Gerakan keyboard atau urutan tombol bersebelahan (seperti qwerty, asdf).
- Gaya tanggal (seperti YYYYMMDD, dd-mm-yyyy).
- Substring berulang (seperti abcabc, 121212).
- Normalisasi Leet sebelum pencocokan daftar hitam (seperti Pa$$w0rd → password).
Waktu pecah hanya perkiraan kasar. Serangan aktual akan menggunakan kamus, masker, dan GPU. Kata sandi pendek dan terstruktur jelas biasanya jauh lebih lemah daripada entropi tampaknya.
- Prioritaskan penggunaan frasa kunci acak yang lebih panjang (lebih dari 4 kata) atau kata sandi yang dihasilkan oleh pengelola kata sandi.
- Hindari informasi pribadi, tanggal, dan struktur yang dapat diprediksi.
- Gunakan pengelola kata sandi, dan aktifkan otentikasi multi-faktor (MFA) sebaik mungkin.
- Jangan gunakan kembali kata sandi; gantilah hanya jika terjadi kebocoran.
Cara Menguji Kekuatan Kata Laluan Melalui Bahasa Pemrograman
Berikut adalah contoh minimum menggunakan perpustakaan komunitas yang matang. Anda boleh memilih mengikut rangkaian teknologi anda.
<!-- 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}"),
}
}
Penyataan: Perpustakaan ini memberikan anggaran kekuatan dan corak, mungkin sedikit berbeza dengan item pengesanan di halaman ini.