KG Password Generator written in Rust
Follows the original dart and flutter implementation (Here).
This rust implementation aims to provide a CLI password generator and a cargo implementation to be used in other packages when needed.
For the CLI implementation, by default, the password input is masked from the terminal and the generated input gets automatically copied to clipboard without getting displayed to the terminal. This is done as a security feature to prevent possible logging to history. However, you will get prompted to show the generated password in the terminal.
Security features:
- Generates a reproducible password that is unique to each different service
- Passwords are hashed multiple times till they satisfy the validation
- Generated passwords follows strict validations listed below
- Masks the input password by default
- Copies the generated password to clipboard by default
- Does not show the generated password on the CLI by default
KGPG Validations
- Generated password must be at least 8 characters
- Must contain a lowercase character, uppercase character, numbers, and special characters.
SGP Validations
- Generated password must be at least 8 characters
- Must contain a lowercase character, uppercase character, and numbers.
Linting
We use Clippy (Here) for linting. Follow the installation process mentioned in the (README.md).
Run cargo clippy to check for linting issues.
FAQ
- If you are on Wayland and copying to clipboard does not work
This app uses
arboardto manage the clipboard (Here). If there is a problem, it is recommended to use Xwayland instead. If the problem persists or you are facing it in other operating systems, please create an issue.
An alternative solution is when prompted, you can show the generated password to the terminal.
License
Licensed under MIT license.