एक उत्पादन-तैयार, क्रिप्टोग्राफिक रूप से सुरक्षित पासवर्ड जनरेटर CLI जिसमें 17 जनरेशन मोड, एंट्रॉपी पारदर्शिता और व्यापक अनुकूलन विकल्प हैं।
विशेषताएँ
17 जनरेशन मोड
Generator
Command
विवरण
Random
random, r
क्रिप्टोग्राफिक रूप से सुरक्षित यादृच्छिक कैरेक्टर पासवर्ड
Passphrase
phrase, p
EFF शब्द सूची का उपयोग करके शब्द-आधारित पासफ्रेज़
Leetspeak
leet, l
कैरेक्टर प्रतिस्थापन वाले पासफ्रेज़ (A→4, E→3, आदि)
PIN
pin
कॉन्फ़िगरेबल लंबाई के संख्यात्मक PIN
Pronounceable
pronounce, pr
आसानी से बोले जाने वाले सिलेबल-आधारित पासवर्ड
UUID
uuid, u
RFC 4122/9562 UUID (v1, v4, v7) और शॉर्ट (Base58)
Base64
base64, b64
URL-सुरक्षित base64-एन्कोडेड सीक्रेट
JWT Secret
jwt
JWT हस्ताक्षर (HS256/384/512) के लिए उच्च-एंट्रॉपी सीक्रेट
WiFi Key
wifi
WPA2/WPA3 संगत कुंजियाँ (8-63 अक्षर)
License Key
license
सॉफ्टवेयर लाइसेंस कुंजियाँ (AXB फॉर्मेट, जैसे 5x5)
Recovery Codes
recovery
2FA बैकअप कोड (संख्यात्मक या शब्द-आधारित)
OTP Code/Secret
otp
TOTP/HOTP कोड और otpauth URI के साथ सीक्रेट
Pattern
pattern
विज़ुअल ग्रिड-आधारित पैटर्न पासवर्ड
Themed Phrase
phrase (custom)
थीम आधारित शब्द सूचियों से पासफ्रेज़ (जानवर, साइंस-फिक्शन, आदि)
NATO Phonetic
phonetic, ph
टेक्स्ट/पासवर्ड को NATO वर्णमाला (Alpha-Bravo) में बदलें
Analyze
analyze, check
मौजूदा पासवर्ड की ताकत का विश्लेषण करें
History
history
पासवर्ड जनरेशन इतिहास देखें (डिफ़ॉल्ट रूप से 10 प्रविष्टियाँ)
प्रीसेट प्रोफाइल: सामान्य उपयोग के मामलों के लिए एक-क्लिक जनरेशन (Strong, Memorable, Dev, आदि)
इंटरैक्टिव मेनू: गाइडेड जनरेशन के लिए पूर्ण-सुविधा युक्त मेनू
प्लेटफ़ॉर्म लॉन्चर: इंटरैक्टिव मेनू के साथ समर्पित .bat और .sh स्क्रिप्ट
क्रिप्टोग्राफिक सुरक्षा: CSPRNG के लिए Python के secrets मॉड्यूल का उपयोग करता है
एंट्रॉपी पारदर्शिता: रीयल-टाइम एंट्रॉपी गणना और शक्ति विश्लेषण
zxcvbn विश्लेषण: पैटर्न-आधारित पासवर्ड शक्ति जाँच (शब्दकोश हमले, अनुक्रम)
सुरक्षित क्लिपबोर्ड: कॉन्फ़िगरेबल टाइमआउट के बाद ऑटो-वाइप क्लिपबोर्ड
लाइव OTP कोड: सीक्रेट के साथ वर्तमान 6/8 अंकीय TOTP कोड उत्पन्न करता है
OTP के लिए QR कोड: प्रमाणक ऐप्स के लिए स्कैनेबल QR कोड
रंग-कोडित आउटपुट: कैरेक्टर प्रकारों के बीच दृश्य अंतर
JSON निर्यात: स्क्रिप्टिंग के लिए मशीन-पठनीय आउटपुट
संतुलित मोड: पठनीय वितरण सुनिश्चित करता है (60% अक्षर, 20% अंक, 20% प्रतीक)
जनरेटर गाइड: सभी 14 जनरेटर प्रकारों के लिए व्यापक दस्तावेज़ीकरण।
एन्क्रिप्टेड हिस्ट्री (वॉल्ट): AES-128 (Fernet) का उपयोग करके स्वचालित रूप से सहेजे गए पासवर्ड को एन्क्रिप्ट करता है।
सुरक्षित वॉल्ट स्टोरेज: समर्पित वॉल्ट .env (अनुशंसित) या लीगेसी .vault.key के माध्यम से क्रिप्टोग्राफिक कुंजियों को सख्त 0600 फ़ाइल अनुमतियों के साथ संभालता है
ज़ीरो-लीकेज आर्किटेक्चर: 🛡️ स्रोत कोड और लॉग PWA मोड में ब्राउज़र एक्सेस से अवरुद्ध होते हैं; एंट्रॉपी विश्लेषण के लिए CLI मोड में संवेदनशील इनपुट मास्क किए जाते हैं।
रिडैक्टेड निर्यात: डिफ़ॉल्ट रूप से स्वचालित पासवर्ड रिडक्शन के साथ सुरक्षा-प्रथम इतिहास निर्यात
ज़ीरो-इंडेंटेशन UI: सभी मोडों के लिए साफ, पेशेवर बाएं-संरेखित आउटपुट
स्मार्ट लीटस्पीक: अधिक प्राकृतिक, पठनीय पासवर्ड के लिए संभाव्य प्रतिस्थापन
मजबूत मान्यता: डिफ़ॉल्ट मान और पुनरावर्ती त्रुटि हैंडलिंग के साथ इंटरैक्टिव प्रॉम्प्ट
रक्षात्मक PWA फ्रंटएंड: 🛡️ इनिशियलाइज़ेशन क्रैश को रोकने के लिए CDN एसेट्स के लिए अंतर्निहित सुरक्षा जाँच।
ग्लोबल मॉडिफ़ायर: --easy-read और --easy-say मोड
पैरानॉइड मोड: अधिकतम सुरक्षा के लिए कीबोर्ड टाइमिंग जिटर के माध्यम से वैकल्पिक मैन्युअल एंट्रॉपी संग्रह।
स्थापना
root@kitploit:~
# Clone the repository
git clone https://github.com/krishnakanthb13/password_generator.git
cd password_generator
# Install dependencies (colorama, cryptography, pyperclip, etc.)
pip install -r requirements.txt
त्वरित शुरुआत
root@kitploit:~
# Generate a 20-character random password
python main.py random -l 20
# Generate a 4-word passphrase
python main.py phrase -w 4 --capitalize
# Generate a leetspeak passphrase
python main.py leet -w 3 -s _
# Generate with entropy analysis
python main.py --show-entropy random -l 16
# Launch interactive mode
python main.py --interactive
# Use a preset profile (Strong)
python main.py --preset strong --show-entropy
उपयोग उदाहरण
रैंडम पासवर्ड
root@kitploit:~
# Basic 16-character password
python main.py random
# 24-character, letters only
python main.py random -l 24 --no-symbols --no-digits
# Easy to read (no 0/O, 1/l/I)
python main.py --easy-read random -l 20
# With minimum requirements
python main.py random -l 16 --min-upper 2 --min-digits 2 --min-symbols 1
# Balanced mode (mostly letters, fewer symbols)
python main.py random -l 24 --balanced
# JWT secret for HS256
python main.py jwt --bits 256
# Base64 API key
python main.py base64 -b 32 --url-safe
# UUID token (v4 Random)
python main.py uuid --upper
# UUID v7 (Time-based, sortable)
python main.py uuid --ver 7
# Or shortcut
python main.py uuid --v7
# Short UUID (Base58 encoded, ~22 chars)
python main.py uuid --short
# Generate a v7 UUID using the shortcut
python main.py u --v7
# Generate 10 short v4 UUIDs
python main.py uuid --v4 --short -n 10
# NATO Phonetic Conversion
python main.py phonetic --text "PassForge"
# Output: Papa-Alpha-Sierra-Sierra-Foxtrot-Oscar-Romeo-Golf-Echo
सुरक्षा और लॉगिंग
root@kitploit:~
# Analyze an existing password
python main.py analyze "p@ssword123"
# Log to history
python main.py --log random -l 16
# View last 10 history entries (default)
python main.py history
# View all history entries (decrypted on the fly)
python main.py history --all
# View history with redacted passwords
python main.py history --redact
# Export history (Redacted by default)
python main.py history --export backup.json
# Export history (Plaintext - requires caution)
python main.py history --export secrets.csv --no-redact
# JSON output for scripts
python main.py --json jwt --bits 256
कमांड संदर्भ
फ़्लैग
विवरण
--preset
पूर्वनिर्धारित सुरक्षा प्रोफ़ाइल का उपयोग करें (strong, memorable, dev, pin, web, wifi, key)
-i, --interactive
इंटरैक्टिव मेनू मोड लॉन्च करें
--paranoid
पैरानॉइड मोड सक्षम करें (मैन्युअल एंट्रॉपी संग्रह)
--json
आउटपुट JSON फॉर्मेट में प्राप्त करें
--show-entropy
एंट्रॉपी विश्लेषण प्रदर्शित करें (लॉन्चर में डिफ़ॉल्ट रूप से सक्षम)
--check-strength
zxcvbn पैटर्न विश्लेषण चलाएँ
-c, --clipboard
परिणाम क्लिपबोर्ड पर कॉपी करें
--confirm-copy
परिणाम को क्लिपबोर्ड पर कॉपी करने की पुष्टि करने का संकेत दें
--clipboard-timeout
N सेकंड के बाद क्लिपबोर्ड ऑटो-वाइप करें (डिफ़ॉल्ट: 30)
--log
पासवर्ड को इतिहास में लॉग करें (AES-128 एन्क्रिप्टेड)
--no-color
रंगीन आउटपुट अक्षम करें
--easy-read
अस्पष्ट कैरेक्टर (0/O, 1/l/I) को बाहर करें
--easy-say
केवल उच्चारण योग्य कैरेक्टर (कोई प्रतीक नहीं)
जनरेटर-विशिष्ट विकल्प
Random (random, r)
फ़्लैग
डिफ़ॉल्ट
विवरण
-l, --length
16
पासवर्ड लंबाई (4-1024)
--no-uppercase
-
बड़े अक्षर बाहर करें
--no-lowercase
-
छोटे अक्षर बाहर करें
--no-digits
-
अंक बाहर करें
--no-symbols
-
प्रतीक बाहर करें
--include
-
शामिल करने के लिए अतिरिक्त कैरेक्टर
--exclude
-
बाहर करने के लिए कैरेक्टर
--no-repeats
-
कोई दोहराव नहीं
--min-upper
0
न्यूनतम बड़े अक्षर
--min-lower
0
न्यूनतम छोटे अक्षर
--min-digits
0
न्यूनतम अंक
--min-symbols
0
न्यूनतम प्रतीक
--balanced
-
संतुलित अनुपात (60/20/20)
-n, --count
1
उत्पन्न करने की संख्या
Passphrase (phrase, p)
फ़्लैग
डिफ़ॉल्ट
विवरण
-w, --words
4
शब्दों की संख्या (2-64)
-s, --separator
-
शब्द विभाजक
--capitalize
-
प्रत्येक शब्द को पूंजीकृत करें
--uppercase
-
सभी शब्द बड़े अक्षरों में
--alternate
-
वैकल्पिक केस (aLtErNaTe)
--wordlist
-
कस्टम शब्द सूची का पथ
-n, --count
1
उत्पन्न करने की संख्या
Leetspeak (leet, l)
फ़्लैग
डिफ़ॉल्ट
विवरण
-w, --words
3
शब्दों की संख्या (2-64)
-s, --separator
-
शब्द विभाजक ( - _ . , )
-n, --count
1
उत्पन्न करने की संख्या
PIN (pin)
फ़्लैग
डिफ़ॉल्ट
विवरण
-l, --length
6
PIN लंबाई (4-64)
-n, --count
1
उत्पन्न करने की संख्या
Pronounceable (pronounce, pr)
फ़्लैग
डिफ़ॉल्ट
विवरण
-l, --length
12
पासवर्ड लंबाई (4-128)
-n, --count
1
उत्पन्न करने की संख्या
UUID (uuid)
फ़्लैग
डिफ़ॉल्ट
विवरण
--ver
4
UUID संस्करण (1, 4, 7)
--short
-
शॉर्ट फॉर्मेट (Base58)
--upper
-
अपरकेस आउटपुट (केवल हेक्स)
-n, --count
1
उत्पन्न करने की संख्या
Base64 (base64, b64)
फ़्लैग
डिफ़ॉल्ट
विवरण
-b, --bytes
32
रैंडम बाइट्स की संख्या
--url-safe
-
URL-सुरक्षित कैरेक्टर का उपयोग करें
JWT Secret (jwt)
फ़्लैग
डिफ़ॉल्ट
विवरण
--bits
256
बिट लंबाई (256, 384, 512)
--hex
-
हेक्स स्ट्रिंग के रूप में आउटपुट
WiFi Key (wifi)
फ़्लैग
डिफ़ॉल्ट
विवरण
-l, --length
24
कुंजी लंबाई (8-63, डिफ़ॉल्ट: 24)
--simple
-
केवल अल्फ़ान्यूमेरिक (कोई प्रतीक नहीं)
License Key (license)
फ़्लैग
डिफ़ॉल्ट
विवरण
--segments
4
सेगमेंट की संख्या (2-64)
--segment-length
4
प्रति सेगमेंट कैरेक्टर (2-32)
Recovery Codes (recovery)
फ़्लैग
डिफ़ॉल्ट
विवरण
-n, --count
10
कोड की संख्या (5-20, डिफ़ॉल्ट: 10)
-l, --length
10
कोड लंबाई (अंक या शब्द, डिफ़ॉल्ट: 10/3)
--words
-
शब्द-आधारित कोड का उपयोग करें
OTP Secret (otp)
फ़्लैग
डिफ़ॉल्ट
विवरण
--digits
6
कोड लंबाई (6 या 8)
--period
30
समय अवधि सेकंड में
--qr
-
टर्मिनल में QR कोड दिखाएँ
Pattern (pattern)
फ़्लैग
डिफ़ॉल्ट
विवरण
--grid
3
ग्रिड आकार (जैसे 3x3)
Phonetic (phonetic, ph)
फ़्लैग
डिफ़ॉल्ट
विवरण
--text
-
NATO वर्णमाला में बदलने के लिए टेक्स्ट
-l, --length
8
रैंडम अनुक्रम लंबाई (4-64)
History (history)
फ़्लैग
डिफ़ॉल्ट
विवरण
--last
10
अंतिम N प्रविष्टियाँ दिखाएँ (1-100, डिफ़ॉल्ट: 10)
--all, -a
-
सभी इतिहास प्रविष्टियाँ दिखाएँ (--last को ओवरराइड करता है)
--search
-
कीवर्ड द्वारा इतिहास फ़िल्टर करें
--redact
-
टर्मिनल आउटपुट में पासवर्ड रिडैक्ट करें
--export
-
इतिहास को फ़ाइल में निर्यात करें (JSON/CSV)
--no-redact
-
निर्यात में पासवर्ड रिडैक्ट न करें (सावधानी!)
--clear
-
सभी इतिहास प्रविष्टियाँ साफ़ करें
एंट्रॉपी गाइड
PassForge एक व्यापक एंट्रॉपी रिपोर्ट प्रदान करता है जिसमें कच्चे कैरेक्टर पूल का आकार, शैनन बिट्स और ब्रूट-फोर्स समय अनुमान शामिल हैं।
एंट्रॉपी (बिट्स)
ताकत
उपयोग का मामला
< 28
बहुत कमज़ोर
कभी उपयोग न करें
28-36
कमज़ोर
केवल निम्न-सुरक्षा
36-60
उचित
मानक खाते
60-80
मज़बूत
संवेदनशील डेटा
80-128
बहुत मज़बूत
उच्च-सुरक्षा प्रणालियाँ
> 128
उत्कृष्ट
महत्वपूर्ण बुनियादी ढाँचा
नोट: प्रत्येक जनरेटर प्रकार के विस्तृत विवरण के लिए, LITERATURE.md देखें।
# सभी परीक्षण चलाएँ
python -m pytest tests/ -v
# विशिष्ट परीक्षण क्लास चलाएँ
python -m pytest tests/test_generators.py::TestRandomPasswordGenerator -v
# कवरेज के साथ चलाएँ
python -m pytest tests/ --cov=src --cov-report=html
सभी 53 यूनिट टेस्ट में शामिल हैं:
सभी 15 विशेष जनरेटर मोड
एंट्रॉपी और zxcvbn शक्ति कैलकुलेटर
क्लिपबोर्ड ऑटो-वाइप और सुरक्षित भंडारण
QR कोड ASCII जनरेशन लॉजिक
कॉन्फ़िगरेशन लोडिंग और प्रीसेट
कॉन्फ़िगरेशन
PassForge YAML या JSON फॉर्मेट में कॉन्फ़िगरेशन फ़ाइलों का समर्थन करता है।
कॉन्फ़िग फ़ाइल स्थान (क्रम में खोजे जाते हैं):
./passforge.yaml या ./passforge.json
./.passforge.yaml या ./.passforge.json
~/.passforge/config.yaml या ~/.passforge/config.json
सभी उपलब्ध विकल्पों के लिए passforge.example.json देखें।
स्टैंडअलोन निष्पादनीय बनाना
PassForge को PyInstaller का उपयोग करके एकल स्टैंडअलोन निष्पादनीय में संकलित किया जा सकता है।
Windows
root@kitploit:~
# बिल्ड स्क्रिप्ट का उपयोग करके
passforge_build.bat
# या मैन्युअल
pip install pyinstaller
pyinstaller --onefile --name passforge --console main.py
Linux/macOS
root@kitploit:~
# बिल्ड स्क्रिप्ट का उपयोग करके
chmod +x passforge_build.sh
./passforge_build.sh
# या मैन्युअल
pip install pyinstaller
pyinstaller --onefile --name passforge --console main.py
निष्पादनीय dist/ फ़ोल्डर में बनाया जाएगा (~7MB, शून्य निर्भरताएँ)।
🌐 PassForge वेब (PWA एड-ऑन)
PassForge में अब एक आधुनिक, प्रतिक्रियाशील वेब इंटरफ़ेस (PWA) शामिल है जो पासवर्ड जनरेट करने और प्रबंधित करने का एक दृश्य तरीका प्रदान करता है, साथ ही CLI संस्करण के साथ पूर्ण समानता बनाए रखता है।
मुख्य विशेषताएँ
साइडबार इंटरफ़ेस: सभी जनरेटर प्रकारों के बीच आसान नेविगेशन।
विज़ुअल स्लाइडर: इंटरैक्टिव स्लाइडर के साथ लंबाई और शब्द गणना समायोजित करें।
QR समर्थन: पासवर्ड या OTP सीक्रेट साझा करने के लिए तत्काल QR कोड जनरेशन।
डार्क/लाइट मोड: सिस्टम-जागरूक थीम स्विचिंग के साथ प्रीमियम सौंदर्यशास्त्र।
इंस्टॉलेबल: Windows, Linux और मोबाइल पर PWA इंस्टॉलेशन के लिए समर्थन।
साझा इतिहास: CLI के समान एन्क्रिप्टेड लॉग फ़ाइल का उपयोग करता है।
PWA लॉन्च करना
वेब इंटरफ़ेस शुरू करने के लिए, अपने OS के लिए लॉन्चर स्क्रिप्ट चलाएँ:
Windows: passforge_pwa.bat
Linux/macOS: passforge_pwa.sh
[!IMPORTANT]
सुरक्षा सख्तीकरण (v34+): PWA अब एक SecureStaticFiles हैंडलर का उपयोग करता है जो ब्राउज़र एक्सेस को Python स्रोत फ़ाइलों, लॉग और क्रिप्टोग्राफिक कुंजियों से स्पष्ट रूप से रोकता है। इतिहास एक्सेस एक आंतरिक API कुंजी हैंडशेक के माध्यम से संरक्षित है। फ्रंटएंड लॉजिक में बाहरी CDN एसेट के लिए भी बचाव रैपर शामिल हैं ताकि CDN अवरुद्ध होने पर भी कार्यक्षमता सुनिश्चित हो सके।
[!TIP]
बिल्ड उपलब्धता: PWA फ़ाइलें स्रोत कोड और ZIP/Tarball वितरण में शामिल हैं। PWA एकल-फ़ाइल .exe बाइनरी में एम्बेडेड नहीं है।
लॉन्चर स्वचालित रूप से आवश्यक निर्भरताएँ (fastapi, uvicorn) स्थापित करेगा, http://127.0.0.1:8093 पर एक स्थानीय सर्वर शुरू करेगा, और आपका ब्राउज़र खोलेगा।