A C++ utility that generates human-readable, memorable passwords while avoiding dictionary words. Creates secure passwords using pronounceable syllables with configurable complexity options.
- Generates pronounceable password bases
- Configurable password length
- Optional 2-digit numbers (
-digits) - Optional special characters (
-special) - Customizable special character set (
-chars) - Avoids dictionary words through random syllable patterns
- Inserts non-alphabet characters at random positions
- C++20 compatible compiler
- CMake (3.10+)
- Make
mkdir build && cd build
cmake -DCMAKE_CXX_STANDARD=20 ..
make./passgen -length 12 -digits -specialGenerate a 10-character password:
./passgen -length 10Example output: zexovakipo
./passgen -length 12 -digits -specialExample output: vupa41@jelowi
./passgen -length 14 -special -chars "£€$"Example output: jaxu£89pokiter
| Flag | Description | Requires Value |
|---|---|---|
-length |
Total password length (required) | Yes |
-digits |
Include 2-digit number | No |
-special |
Include special character | No |
-chars |
Custom special characters | Yes |
- Creates pronounceable base using alternating consonants/vowels
- Adds complexity elements (numbers/specials) at random positions
- Uses secure randomization through:
- Mersenne Twister engine (mt19937)
- System entropy source (random_device)
- Cryptographic-grade PRNG for shuffling
MIT License - see LICENSE