A secure, deterministic password generator that creates the same password every time from the same inputs — no storage, no syncing, no risk of leaks.
Your passwords never leave your device. Ever.
-
🔁 Deterministic generation Same inputs → same password, every time
-
🔒 Strong cryptography Built using PBKDF2 + SHA-256 with 200,000 iterations
-
🧠 Zero storage No passwords are saved, stored, or transmitted
-
🎛️ Customizable output
- Uppercase / lowercase / numbers / symbols
- Password length (4–150)
-
📊 Password strength indicator Real-time entropy-based feedback
-
🧼 Strict input validation Prevents weak or malformed inputs
-
💾 Local settings persistence Preferences saved in your browser
This generator is like a password forge 🔥 where your inputs are melted and reshaped into a consistent, unbreakable key.
- Website / App Name
- Username / Email (optional)
- Master Password
- Secret Phrase
-
Inputs are normalized (cleaned and standardized)
-
A deterministic key is derived using:
PBKDF2-SHA256- 200,000 iterations
-
The key is converted into a password using:
- Bias-free character selection
- Deterministic fallback hashing (SHA-256 chaining)
-
Required character types are enforced deterministically
➡️ A strong, reproducible password unique to each site.
- ❌ No cloud sync
- ❌ No database
- ❌ No password storage
- ✅ Everything happens locally in your browser
Even if someone gets your generated password, they cannot reverse it to find your master password or inputs.
| Input | Value |
|---|---|
| Website | google |
| Username | user@example.com |
| Master Password | MyStrong@123 |
| Secret Phrase | red fox jumps high |
➡️ Output (always same):
(BBR#HKlB=$kS64
You can customize:
-
Character types:
- A–Z Uppercase
- a–z Lowercase
- 0–9 Numbers
- Symbols (
!@#$%^&*...)
-
Password length:
- Minimum: 4
- Maximum: 150
Settings are saved locally in localStorage.
.
├── index.html # UI structure
├── css/
│ └── styles.css # Styling
├── js/
│ ├── app.js # Main controller (UI + logic glue)
│ ├── crypto.js # Core deterministic engine
│ ├── validator.js # Input validation
│ └── settings.js # Local storage handling
-
Website: Alphanumeric only, max 150 chars
-
Username:
- Email (RFC-style) OR
- Alphanumeric +
._-
-
Master Password:
- Min 10 chars
- Must include uppercase, lowercase, number, symbol
-
Phrase:
- 3–50 words
- Letters, numbers, spaces only
Traditional password managers store secrets. This one doesn’t.
Instead:
-
You recreate passwords when needed
-
You only remember:
- One master password
- One secret phrase
It’s like carrying a key-making machine in your pocket, instead of a heavy keychain 🗝️
- 🔴 If you forget your master password or phrase, your passwords are unrecoverable
- 🔴 Changing any input will generate a completely different password
- 🔴 Always use a strong master password
Just open the project in your browser:
git clone https://github.com/TwilightEntity/pritam.git
cd passwords
open index.htmlNo build step. No dependencies. Pure frontend.
MIT License — feel free to use, modify, and build upon it.
- Browser extension 🧩
- Mobile version 📱
- Export/import settings
- Passphrase generator
This project is licensed under the MIT License 👉 https://github.com/TwilightEntity/passwords/blob/main/LICENSE
“Don’t store secrets. Recreate them.”
A small tool with a quiet ambition: to make security feel simple, personal, and entirely under your control.