[![Crates.io](https://img.shields.io/crates/d/xpwd.svg)](https://crates.io/crates/xpwd) [![License](https://img.shields.io/github/license/08820048/xpwd)](https://github.com/08820048/xpwd/blob/master/LICENSE) [![rustc 1.77.0](https://img.shields.io/badge/rust-1.77.0-orange.svg)](https://img.shields.io/badge/rust-1.77.0-orange.svg) [![Documentation](https://docs.rs/console/badge.svg)](https://docs.rs/xpwd) [![GitHub stars](https://img.shields.io/github/stars/08820048/xpwd)](https://github.com/08820048/xpwd/stargazers) [![GitHub forks](https://img.shields.io/github/forks/08820048/xpwd)](https://github.com/08820048/xpwd/network/members) [![GitHub issues](https://img.shields.io/github/issues/08820048/xpwd)](https://github.com/08820048/xpwd/issues) [![Contributors](https://img.shields.io/github/contributors/08820048/xpwd?style=flat-square)](https://github.com/08820048/xpwd/graphs/contributors) A command-line password generator built with Rust, offering a swift and effortless solution for creating passwords of varying strengths. Cure your password creation woes with a single command!
## Installation ### **Install using Cargo** Please ensure that your operating system has Rust and the Cargo development environment properly configured. ```rust cargo install xpwd //Install the latest version by default ``` ### Install using Scoop If you haven't installed **Scoop**, please refer to the official website for installation (https://scoop.sh/#/). Then, execute the following command to install **xpwd** ```rust scoop install xpwd ``` > More installation methods are coming soon... ------------------ ## CLI Usage The usage examples below are always in line with the latest version. If you are using an older version, please visit [https://crates.io/crates/xpwd](https://crates.io/crates/xpwd) to view the corresponding version's usage examples. Thank you. ```powershell $ xpwd -h _______ ______ |\ /| ( ____ )|\ /|( __ \ ( \ / ) | ( )|| ) ( || ( \ ) \ (_) /_____ | (____)|| | _ | || | ) | ) _ ((_____)| _____)| |( )| || | | | / ( ) \ | ( | || || || | ) | ( / \ ) | ) | () () || (__/ ) |/ \| |/ (_______)(______/ Fast, secure, and universal password generator. Usage: xpwd.exe Commands: pwd Generate a secure password of specified length and strength. str Check the strength of the password you entered. pas Generate a random short passphrase password based on a dictionary. help Print this message or the help of the given subcommand(s) Options: -h, --help Print help -V, --version Print version $ xpwd pwd -l 8 -c s +--------+--------+----------+ | Param1 | Param2 | Result | +--------+--------+----------+ | 8 | simple | u50nil6u | +--------+--------+----------+ πŸ›‘οΈ β– β– β– β– β– β– β– β– β– β– β– β– β– β– β– β– β– β– β– β–  moderate --------------------------------------------- $ xpwd str -p 123456 πŸ›‘οΈ β– β– β– β– β– β– β– β–  very weak --------------------------------------------- $ xpwd pas -d C:\RustProjects\xpwd\resources\dictionary.txt -w 3 +--------+-----------------------------------------------+-----------------------+ | Param1 | Param2 | Result | +--------+-----------------------------------------------+-----------------------+ | 3 | C:\RustProjects\xpwd\resources\dictionary.txt | PotatoHarmonyKeyboard | +--------+-----------------------------------------------+-----------------------+ ----------------------------------------------- ``` For details on each specific feature, you can use the `-h` command to view help. For example, to see the help for the `pwd` command, use: ```rust $ xpwd pwd -h _______ ______ |\ /| ( ____ )|\ /|( __ \ ( \ / ) | ( )|| ) ( || ( \ ) \ (_) /_____ | (____)|| | _ | || | ) | ) _ ((_____)| _____)| |( )| || | | | / ( ) \ | ( | || || || | ) | ( / \ ) | ) | () () || (__/ ) |/ \| |/ (_______)(______/ Generate a secure password of specified length and strength. Usage: xpwd.exe pwd [OPTIONS] Options: -l, --len Length of password [default: 8] -c, --complex Complexity of the password [default: m] -h, --help Print help ``` > **The generated password will be automatically copied to the clipboard by default, allowing you to directly paste and use it.** --- ## Futures > Here are the features and improvements we plan to add to the tool in the future. If you have any suggestions or ideas, feel free to share! 1. **Quick Password Generation** - βœ… Rapidly generates random passwords of specified lengths and strengths. 2. **Password Strength Check** - βœ… Assesses the strength of user-inputted passwords, providing visual feedback. 3. **Customizable Password Policy** - βŒ› Enables users to customize password generation rules, such as mandating the inclusion of uppercase letters, lowercase letters, numbers, special characters, and their minimum occurrences. 4. **Password History Management** - βŒ› Offers a secure means for users to store and manage their previously generated passwords (with emphasis on encrypted storage), including features to flag frequently used passwords and search for specific ones. 5. **Password Expiration Reminder** - βŒ› Implements a notification system that alerts users, based on their settings (e.g., every 90 days), when to change passwords for specific websites or applications. 6. **Password Synchronization & Backup** - βŒ› Provides cloud synchronization functionality, allowing users to sync their password database across multiple devices, ensuring secure access while facilitating cross-platform use. 7. **Security Assessment Report** - βŒ› Generates detailed reports on password security, analyzing the distribution of password strengths and reuse within the user's database, offering improvement suggestions. 8. **Password Leak Check** - βŒ› Integrates with an `API` (like `Have I Been Pwned`) to check if user-supplied passwords have been exposed in known data breaches, enhancing user awareness of password security. 9. **Random Passphrase Generation** - βœ… In addition to traditional random strings, includes a dictionary-based passphrase generator that produces longer but more memorable passwords, such as β€œ`CorrectHorseBatteryStaple`”. 10. **Multilingual Password Support** - βŒ› Expands character set support to allow for passwords containing non-English characters, catering to international users with specific needs. 11. **Graphical User Interface** - βŒ› Considers developing a graphical user interface (`GUI`) to enhance the user experience, particularly for those unfamiliar with command-line operations. 12. **Plug-in Based Development** - βŒ› Develops related **plugins** to enrich usage scenarios, including browser plugins, `IDE` integrations, and apps for multiple platforms. 13. **Educational Module** - βŒ›Incorporates educational content on password security, covering common password cracking methods and guidelines for creating and managing strong passwords, to boost user awareness. ---- ## License This project is licensed under the MIT License - see the [LICENSE](https://github.com/08820048/xpwd/blob/master/LICENSE) file for details. --- ## about **In order to provide a more efficient and convenient user experience, the original project quick_pswd (https://crates.io/crates/quick_pswd) has officially been renamed to xpwd.**