- Author:
alfanowski - Language:
Python - License: See
LICENSE
Project Overview
- Description: Password Compiler is a small, user-friendly Python utility that generates candidate password dictionaries derived from a person's name, surname and birth date. It is useful for security professionals who need to create targeted wordlists for password auditing, pentesting, or forensic recovery workflows. The tool is intentionally simple and run locally — no external account or personal data is sent unless you use the update feature (which downloads the latest script from the repository URL).
Features
- Interactive input: guided prompts for name, surname and birth date (DDMMYYYY).
- Multiple output sizes: three preconfigured output sizes (small, big, huge) to control dictionary size and runtime.
- Local dictionary files: generated wordlists are saved under the
dictionaries/folder. - Self-update: optional update command fetches the latest script from the configured upstream URL.
Dependencies
- Required packages:
requests,tqdm(install viapip). - Note: The standard library modules
itertools,os,re, andtimeare also used.
Install the Python dependencies with:
pip install -r requirements.txtIf you prefer to install only what you need:
pip install requests tqdmQuickstart (Windows / PowerShell)
- Open a terminal in the project directory (where
PasswordCompiler.pyresides). - Ensure dependencies are installed (see above).
- Run the script:
python PasswordCompiler.py- Follow the on-screen menu:
- Select
Generateto create a dictionary file. - Select
Updateto check for and download the latest script from the configured upstreamscriptURL. - Select
Exitto quit.
Usage Details
- When you choose
Generate, the program will prompt for:NameandSurname(alphabetic characters only).Birth dateinDDMMYYYYformat.- A filename for the generated dictionary (saved as
dictionaries/<name>.txt). - The output size:
Small(≈ 15k+ passwords),Big(≈ 600k+), orHuge(≈ 25M+). The tool builds permutations of name/surname variations, date fragments and common separators/special characters.
- Generated files are written to the
dictionaries/folder. If the folder does not exist, the script will create it.
Security & Privacy
- The tool runs locally and operates on data you enter interactively.
- Do not generate wordlists containing real users' sensitive information without proper authorization.
- The
Updatefeature downloads the latest script fromscriptURL— use this only on trusted networks.
Examples
Example session (illustrative):
python PasswordCompiler.py
# choose: 1 Generate
# enter name: john
# enter surname: doe
# enter birth date: 01011990
# choose file name: john_doe
# choose size: Small
# output: dictionaries/john_doe.txtDevelopment Notes
- Main script:
PasswordCompiler.py. - Output directory:
dictionaries/. - Upstream script URL is stored in the
scriptURLvariable inside the script. - Example dependencies are listed in
requirements.txt.
Troubleshooting
- If you see a message about missing modules, run
pip install -r requirements.txt. - On Windows, run the script with the
pythoncommand that points to a Python 3 interpreter. - If the progress bar stalls during generation for very large sizes, consider selecting a smaller size or running on a machine with more memory/CPU.
Contributing
- Feel free to open issues or pull requests on the repository. Typical improvements:
- More efficient generation algorithms (streaming, generators) for huge lists.
- Additional input patterns and configurable templates.
- Improved CLI flags for non-interactive/batch usage.
Contact & Author
alfanowski— for questions, issues or contributions, open an issue on the repository or create a pull request.
License
- See the
LICENSEfile in this repository for full license terms.
Thank you for using Password Compiler — use responsibly.
Made with ❤️ by alfanowski