Generate secure passwords in batches using predefined JSON templates.
Passwords are printed to stdout only; the utility does not perform any disk writes unless you redirect output.
- Build
make
cp pwizard /usr/local/bin/pwizard- Configure passwords.json
| Key | Value type | Default value | Description |
|---|---|---|---|
| name | string | password type or identifier | |
| length | int | password length (minimum: 4 symbols) | |
| symbols | bool | false | enable/disable safe set of special symbols |
| symbols_extended | bool | false | enable/disable extended set of special symbols |
| symbols_dangerous | bool | false | enable/disable dangerous set of special symbols |
| custom_symbols_set | string | specify custom set of symbols | |
| digits | bool | true | enable/disable digits |
| letters | bool | true | enable/disable letters |
| uppercase_only | bool | false | enable/disable uppercase-only letters set |
| lowercase_only | bool | false | enable/disable lowercase-only letters set |
- Special symbols are disabled by default
- Digits are enabled by default
- Uppercase and lowercase letters are enabled by default
Password name and length specifications are required.
Symbol sets cannot be combined. Priority order:
- custom_symbols_set
- symbols_dangerous
- symbols_extended
- symbols
[
{
"name": "database",
"length": 16,
"symbols": true
},
{
"name": "api_key",
"length": 24
}
]-
Run
pwizard -
Or run it with custom config path
pwizard -config=$HOME/config.jsonDefault configuration path is /etc/pwizard/passwords.json
Currently supported: human-readable string format
Planned: JSON, YAML
- Passwords are generated using cryptographically secure random generator
- Minimum password length is enforced (4 characters)
- No passwords are stored or logged