सुरक्षा टूल

पासवर्ड स्ट्रेंथ चेकर

zxcvbn इंजन से रियल-टाइम विश्लेषण: सामान्य पासवर्ड शब्दकोश, कीबोर्ड वॉक, सीक्वेंस, रिपीट और डेट सब आपके अंक काटते हैं — सुरक्षा का यह अंदाज़ा ऊपरी/निचले/अंक/प्रतीक वर्गों की गणना करने से कहीं अधिक सही है. सब कुछ स्थानीय रूप से चलता है; आपका पासवर्ड कभी भी ब्राउज़र से बाहर नहीं जाता.

zxcvbn द्वारा संचालित कमज़ोर पासवर्ड शब्दकोश 100% क्लाइंट-साइड रियल-टाइम परिणाम
केवल आपके डिवाइस पर कंप्यूट किया गया — कभी अपलोड नहीं किया गया
k-एनोनिमिटी: SHA-1 हैश का केवल पहला 5 कैरेक्टर आपके ब्राउज़र से बाहर जाते हैं
स्ट्रेंथ /100
बहुत कमज़ोर उत्कृष्ट
लंबाई
प्रभावी एन्ट्रॉपी
बिट
कैरेक्टर सेट का आकार
ऑफलाइन अटैक (GPU फार्म, ~10 अरब अनुमान/सेकंड)
ऑनलाइन अटैक (रेट-लिमिटेड, ~100 अनुमान/घंटा)
उन्नत नीति सेटिंग्स

कॉमा या न्यूलाइन से अलग किए गए, केस-असंवेदनशील। zxcvbn स्वचालित रूप से केस विविधता, लीट प्रतिस्थापन (जैसे Pa$$w0rd) और उलटे को पकड़ लेता है।

दो पासवर्ड की तुलना करें

यह क्यों मायने रखता है

"ऊपर + निम्न + अंक + प्रतीक" सुरक्षा क्यों नहीं है

P@ssw0rd! सभी चार वर्ण बॉक्स को पूरा करता है और फिर भी असली ब्रीच सूचियों में शीर्ष पर है। ताकत अनुमान लगाने योग्यता के बारे में है, न कि वर्ण-वर्ग अंकगणित के।

01

कमजोर-पासवर्ड मैचिंग

सामान्य पासवर्ड और शब्दों की एक बिल्ट-इन डिक्शनरी को भारी दंड मिलता है — password, 123456 और P@ssw0rd सही रूप से बहुत कमजोर के रूप में स्कोर करते हैं।

02

पैटर्न डिटेक्शन

कीबोर्ड वॉक, सीधे क्रम, दोहराव, तारीखें और सामान्य शब्द सभी प्रभावी अनुमान स्थान को संकुचित करते हैं।

03

प्रभावी, सैद्धांतिक एन्ट्रॉपी नहीं

स्कोर संरचनाओं से प्राप्त वास्तविक अनुमानों का अनुमान लगाता है — न कि लंबाई से गुणा किए गए चारसेट आकार का।

04

दो आक्रमण परिदृश्य

ऑफलाइन GPU क्रैकिंग और ऑनलाइन रेट-लिमिटेड अनुमान के लिए अलग-अलग अनुमान हमलावर की लागत के बारे में अंतर्ज्ञान बनाते हैं।

05

कस्टम पॉलिसी और ब्लॉकलिस्ट

न्यूनतम लंबाई और वर्ग आवश्यकताएं सेट करें; कॉर्पोरेट पासवर्ड नियमों के मेल खाने के लिए कंपनी के नाम या प्रोजेक्ट कोडनेम जोड़ें।

06

पूरी तरह से स्थानीय

आपका पासवर्ड कभी भी ब्राउज़र को नहीं छोड़ता या सर्वर को नहीं छूता; सेटिंग्स केवल आपके अपने localStorage में रहती हैं।

पासवर्ड ताकत को समझना

स्कोरिंग कैसे काम करती है, क्रैक टाइम का क्या मतलब है, और वास्तव में अच्छा पासवर्ड क्या बनाता है।

zxcvbn का 0–4 स्कोर कैसे गणना किया जाता है?

zxcvbn पहले पासवर्ड को टुकड़ों में विभाजित करता है: डिक्शनरी शब्द (सामान्य पासवर्ड, अंग्रेजी शब्द), कीबोर्ड वॉक, क्रम, दोहराव, तारीखें और ब्रूट-फोर्स टुकड़े।

यह प्रति टुकड़े अनुमानों का अनुमान लगाता है, उन्हें कुल अनुमान गिनती में जोड़ता है, और उसे 0–4 स्कोर में मैप करता है। सामान्य परिवर्तन स्वचालित रूप से ध्यान में रखे जाते हैं — कैपिटलाइजेशन उलट, लीट प्रतिस्थापन (@→a, 0→o), वर्ष प्रत्यय — यही कारण है कि P@ssw0rd अपनी वर्ण विविधता के बावजूद खराब स्कोर करता है।

प्रभावी एन्ट्रॉपी और चारसेट आकार में क्या अंतर है?

चारसेट आकार वर्णमाला आकार को लंबाई से गुणा करता है — एक सैद्धांतिक सीमा जो मानती है कि प्रत्येक वर्ण पूरी तरह से यादृच्छिक है, जो वास्तविक पासवर्ड वस्तुतः कभी नहीं होते।

प्रभावी एन्ट्रॉपी (यहां दिखाई गई बिट गिनती) वास्तविक अनुमान स्थान है जिसका zxcvbn डिक्शनरी शब्द और पैटर्न खोजने के बाद अनुमान लगाता है। समान लंबाई पर, iloveyou2024 का एक यादृच्छिक स्ट्रिंग की तुलना में बहुत कम प्रभावी एन्ट्रॉपी है।

क्रैक टाइम का अनुमान कैसे लगाया जाता है — क्या वे विश्वसनीय हैं?

क्रैक समय = अनुमानित अनुमान ÷ प्रति सेकंड अनुमान। दो गतियाँ दिखाई गई हैं: ऑफ़लाइन GPU फार्म के लिए ~10 बिलियन/सेकंड (हैश हमलावर के पास है), और ऑनलाइन दर-सीमित लॉगिन के लिए ~100/घंटा।

उन्हें भविष्यवाणियों के बजाय परिमाण के क्रम के रूप में मानें: वास्तविक गति हैश एल्गोरिदम (bcrypt/Argon2, MD5 की तुलना में परिमाण के क्रम में धीमे), हार्डवेयर और शब्दकोष की गुणवत्ता पर निर्भर करती है। 10 गुना का अंतर कुछ नहीं बदलता; लेकिन लाखों गुना अंतर ही बदलता है।

अच्छा पासवर्ड वास्तव में क्या बनाता है?

दो ठोस रास्ते: पासवर्ड मैनेजर से 16+ वर्णों का यादृच्छिक स्ट्रिंग, प्रत्येक साइट के लिए अद्वितीय; या 4+ असंबंधित शब्दों का एक पासफ्रेज (जैसे correct-horse-battery-staple) — लंबा और अर्थहीन।

आप जो भी चुनें, मल्टी-फैक्टर प्रमाणीकरण (MFA) के साथ इसे जोड़ें और कभी भी साइटों में एक ही पासवर्ड का पुन: उपयोग न करें।

मेरी साइट को अपर/लोअर/अंक/प्रतीक की आवश्यकता है — स्कोर कम क्यों है?

कॉर्पोरेट नीति (लंबाई, वर्ण वर्ग) एक अनुपालन का न्यूनतम स्तर है: यह "यह अनुरूप है?" का उत्तर देती है। zxcvbn का स्कोर "इसका अनुमान लगाया जा सकता है?" का उत्तर देता है। ये दो स्वतंत्र हैं।

एक सामान्य शब्द (password!2024) में विस्मयादिबोधक चिह्न और एक वर्ष जोड़ना अधिकांश नीति जाँचों को पास करता है लेकिन सेकंडों में शब्दकोष आक्रमण के लिए आता है।

क्या मेरा पासवर्ड कहीं अपलोड किया जाता है?

नहीं। सब कुछ आपके ब्राउज़र में JavaScript के माध्यम से चलता है — पासवर्ड भेजने वाला कोई नेटवर्क अनुरोध नहीं है, और यह ऑफ़लाइन भी काम करता है। केवल आपकी कस्टम नीति (लंबाई के नियम, ब्लॉकलिस्ट) स्थानीय रूप से संग्रहीत होती है; इसमें कभी भी पासवर्ड नहीं होता है।

कोड में पासवर्ड स्ट्रेंथ की जाँच

अपने स्वयं के साइनअप या पासवर्ड-परिवर्तन फॉर्म में लाइव स्ट्रेंथ जाँच जोड़ने के लिए, अपनी भाषा के लिए zxcvbn पोर्ट का उपयोग करें:

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

स्कोर और पैटर्न के अनुमान लाइब्रेरी संस्करणों के आधार पर इस पृष्ठ से थोड़े भिन्न हो सकते हैं, लेकिन सिद्धांत समान हैं। सर्वर-साइड जाँच के लिए, लंबाई की सीमा और दर सीमा को भी लागू करें ताकि अत्यधिक इनपुट का उपयोग CPU को बर्बाद करने के लिए न किया जा सके।

अक्सर पूछे जाने वाले प्रश्न

यह पासवर्ड स्ट्रेंथ चेकर कैसे काम करता है?

यह Dropbox का ओपन-सोर्स एल्गोरिदम zxcvbn का उपयोग करता है: पासवर्ड को सामान्य-पासवर्ड शब्दकोष, अंग्रेजी शब्द सूची, कीबोर्ड वॉक, अनुक्रम, तारीखें और दोहराव वाले पैटर्न के साथ मैच किया जाता है। हमलावर को लगने वाले अनुमानों की अनुमानित औसत संख्या को 0–4 स्कोर और क्रैक-अनुमान समय में मैप किया जाता है।

P@ssw0rd जटिल लगता है — यह "बहुत कमजोर" क्यों है?

यह उल्लंघन कॉर्पस में सबसे प्रतिष्ठित कमजोर पासवर्ड में से एक है। यह zxcvbn के शब्दकोषों में सीधे दिखाई देता है, और कैपिटलाइज़ेशन के साथ-साथ leet प्रतिस्थापन (a→@, o→0) स्वचालित रूप से पहचाने जाते हैं। पूरी तरह से अनुमान लगाने योग्य संरचना वाले विविध वर्ण बिल्कुल वही हैं जो नियम-आधारित हमलावर शब्दकोष पहले कोशिश करते हैं।

पासवर्ड की लंबाई कितनी होनी चाहिए?

जब यादृच्छिक रूप से उत्पन्न किया जाता है, तो 12+ वर्ण आमतौर पर ऑनलाइन हमलों को हराते हैं, जबकि 16+ कई वर्षों के लिए ऑफ़लाइन GPU क्रैकिंग का सामना करते हैं। लंबाई वर्ण जटिलता से अधिक मायने रखती है: एक यादृच्छिक 20-वर्ण लोअरकेस स्ट्रिंग चार वर्गों के मिश्रण वाले 10-वर्ण से बेहतर होती है।

ऑफ़लाइन और ऑनलाइन क्रैक समय को अलग क्यों करें?

आक्रमण के परिदृश्य भिन्न हैं: डेटाबेस उल्लंघन के बाद, हमलावर GPU पर स्थानीय रूप से प्रति सेकंड अरबों अनुमानों पर हैश की कोशिश कर सकता है; लाइव लॉगिन के खिलाफ, दर सीमा प्रति सेकंड केवल कुछ ही की अनुमति देती है। एक ही पासवर्ड एक परिदृश्य में दूसरे की तुलना में ट्रिलियन गुना अधिक समय तक जीवित रह सकता है — इसलिए दोनों दिखाए जाते हैं।

क्या मेरे इनपुट कहीं संग्रहीत हैं?

नहीं। आपका पासवर्ड केवल आपके ब्राउज़र की मेमोरी में रहता है और रिफ्रेश होने पर गायब हो जाता है। केवल आपकी कस्टम नीति सेटिंग्स (लंबाई के नियम, ब्लॉकलिस्ट) स्थानीय स्टोरेज में रखी जाती हैं — उनमें कभी पासवर्ड नहीं होता है।

संबंधित टूल