پاس ورڈ کی مضبوطی کا جانچنے والا

پاس ورڈ کی مضبوطی، اینٹروپی اور عام کمزوریوں کا پتہ لگائیں۔ تمام جانچ آپ کے براؤزر میں مقامی طور پر چلتی ہے۔

مضبوطی کا جانچ

اینٹروپی
مضبوطی:
آف لائن (تیز رفتار جی پی یو) توڑنے کے وقت کا تخمینہ
آن لائن (تیز رفتار محدود) توڑنے کے وقت کا تخمینہ
جانچ کے نتائج
  • لمبائی
  • چھوٹے حروف
  • بڑے حروف
  • اعداد
  • علامات
  • ترتیب
  • تکرار
  • بلاک لسٹ
  • کی بورڈ کا پیٹرن
  • تاریخ
  • دوره
پالیسی کی ترتیب
کوما سے الگ کریں، حروف کی سائز سے کوئی فرق نہیں پڑتا۔ Leet وحدت کو سپورٹ کرتا ہے (جیسے Pa$$w0rd → password)۔
بہتر کرنے کی تجاویز
رازداری کا بیان: پتہ لگانا مکمل طور پر آپ کے براؤزر میں مقامی طور پر ہوتا ہے، پاس ورڈ کو اپ لوڈ نہیں کیا جاتا ہے۔

استعمال کا طریقہ

مقامی طور پر پاس ورڈ کا تجزیہ کریں اور قابل عمل بہتر کرنے کی تجاویز حاصل کریں۔
1)پاس ورڈ درج کریں یا پیسٹ کریں؛ نتائج فوری طور پر اپ ڈیٹ ہوں گے۔
2)ضرورت کے مطابق پالیسی کو ایڈجسٹ کریں (کم از کم لمبائی/حروف کی قسم کی ضروریات)۔
3)عام کمزور الفاظ کو بلاک لسٹ میں شامل کریں تاکہ شناخت میں مدد ملے (لیٹ نارمیلائزیشن سپورٹ ہے)۔
4)درآمد/برآمد کا استعمال کرتے ہوئے پالیسی کی ترتیبات کو شیئر کریں۔

خصوصیات

  • 100% مقامی تجزیہ، رازداری کو ترجیح دیں۔
  • اعلی درجے کی جانچ: کی بورڈ کے چھڑے، تاریخ، دورانیہ کی تکرار، ترتیب، تکرار وغیرہ۔
  • Leet وحدت بلاک لسٹ مماثلت (جیسے Pa$$w0rd → password)۔
  • لچکدار پالیسی: کم از کم لمبائی اور حروف کی قسم کی ضروریات۔
  • ایک کلک میں پالیسی JSON درآمد/برآمد کریں۔
  • ایک کلک میں ڈیٹیکٹر میں تجزیہ کریں

پاس ورڈ کا موازنہ

مقابلہ کا نتیجہ
انٹروپی (A): انٹروپی (B):

عام سوالات

کیا میرا پاس ورڈ اپ لوڈ ہوگا؟
نہیں۔ تمام تجزیہ صرف آپ کے براؤزر کے اندر ہوتا ہے۔
“انٹروپی” کا کیا مطلب ہے؟
مشخص طور پر یہ ظاہر کرتا ہے کہ کتنی کوششیں کرنے کی ضرورت ہوگی تاکہ اندازہ لگایا جا سکے۔ جب ساخت موجود ہو تو حقیقی طاقت کم ہو جاتی ہے۔
فارم کی نمبر کیا کم ہو گئی؟
ترتیب، تاریخ یا کی بورڈ کے چھڑے جیسے پیٹرن طاقت کو کم کرتے ہیں۔

رپورٹ

رپورٹ میں آپ کے پاس ورڈ کا متن شامل نہیں ہے، صرف اشاریے اور سیٹنگز شامل ہیں۔

متعلقہ علم
اینٹروپی

اینٹروپی کا استعمال حروف کے مجموعے اور لمبائی کی بنیاد پر تلاش کے فضا کے سائز کا اندازہ لگانے کے لیے کیا جاتا ہے۔ اگر کوئی ساختی عنصر (پیٹرن، الفاظ) موجود ہو، تو یہاں تک کہ اگر اصل بٹ بہت زیادہ نظر آتے ہیں، بھی موثر اینٹروپی کم ہو جائے گی۔

پتہ لگانے والے آئٹمز کی وضاحت
  • ترتیب والا سلسلہ، جیسے abcde یا 12345۔
  • ایک ہی حرف کی لمبی تکرار (جیسے aaaa)۔
  • صارف کی طرف سے متعین کردہ بلیک لسٹ میں موجود عام کمزور الفاظ/پیٹرن سے مماثل۔
  • کی بورڈ کے ترتیب یا ملحقہ کیز کے سلسلے (جیسے qwerty، asdf)۔
  • تاریخوں کا انداز (جیسے YYYYMMDD، dd-mm-yyyy)۔
  • تکراری ذیلی سلسلوں (جیسے abcabc، 121212)۔
  • بلیک لسٹ میں مماثلت کے پہلے لیٹ کو معمول میں تبدیل کرنا (جیسے Pa$$w0rd → password)۔
خراب کرنے کے وقت کی بات

خراب کرنے کا وقت صرف ایک موٹا اندازہ ہے۔ اصل حملے میں لغت، پردہ اور جی پی یو کا استعمال کیا جاتا ہے۔ چھوٹے اور واضح ساخت والے پاس ورڈ اکثر اپنے ظاہری اینٹروپی کی قیمت سے بہت کمزور ہوتے ہیں۔

بہترین طریقہ کار
  • ترجیحاً لمبے بے ترتیب پاس ورڈ فریز (4 سے زیادہ الفاظ) یا پاس ورڈ مینیجر سے تیار کردہ پاس ورڈ استعمال کریں۔
  • ذاتی معلومات، تاریخیں اور پیش گوئی کے قابل ساخت سے گریز کریں۔
  • پاس ورڈ مینیجر استعمال کریں، اور جہاں تک ممکن ہو کثیر عنصری تصدیق (MFA) کو فعال کریں۔
  • پاس ورڈ کو دوبارہ استعمال نہ کریں؛ صرف اس وقت تبدیل کریں جب اسے لیک کیا جائے۔

کمپیوٹر کی زبانوں کے ذریعے پاس ورڈ کی مضبوطی کو کیسے جانچیں

یہاں کمیونٹی کے بالغ لائبریریوں کا کم سے کم مثال ہے، آپ اپنے ٹیکنالوجی اسٹیک کے مطابق منتخب کر سکتے ہیں۔

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

وضاحت: یہ لائبریریں طاقت اور پیٹرن کا تخمینہ دیتے ہیں، جو اس صفحے کے جانچ کے آئٹمز سے قدرے مختلف ہو سکتے ہیں۔