Deadpool is a crate to generate passwords and Shuffle a command-line application to demonstrate how to use it.
Bonus: An interface using Qt6/C++ is also included.
To build the qt6 gui, run cargo --release on the root of this repo to generate the deadpool lib and cppadapter lib. Go in the qtgui folder to run build.sh. cmake, Qt6 and ninja must be instaled on your system.
./build.sh
The rust gui.
Deadpool is very simple.
use deadpool::*;
let mut pool = Pool::new();
pool.extend_from_uppercase();
pool.extend_from_digits();
pool.extend_from_dashes();
pool.extend_from_string("@é=");
pool.exclude_chars("0Oo1iIlL5S"); // exclude some ambigous
...
...
let password = pool.generate(25)
The generated passwords always contains at least one character from the selected groups and from --include option. Without argument, the generated password is 10 characters long and uses lowercase letters and numbers.
# similar to ./shuffle -ld -L 10
./shuffle
uabhbunf0q
Generate 3 passwords with 30 chars with lower,digits,maths and include @ é è à % M
./shuffle --count 3 -L 30 -ldm --include "@éèà%M"
0c3mi<l1=Ma6xfujp>ddc3%%*n76èp
3>j+%=?5k*ubyd@p+=wior4a@qhiàu
tz6z99iwà1h!s+Mg4iv5t%@%5kenq8
Generate a password with 30 chars with only digits and exclude 0,1,2,3,4 and 5
./shuffle -d -L 30 --exclude 012345
879866968679799766976867796776
Note: The exclude option takes precedence over the include option. A character included with --include will always be removed by exclude.
Display full help with -h flag:
./shuffle -h
🔑 Random password generator
Usage: shuffle [OPTIONS]
Options:
-u, --uppercase Use UPPERCASE letters [A-Z]
-l, --lowercase Use lowercase letters [a-z]
-d, --digits Use digits [0-9]
-b, --braces Use special symbols [*&^%$#@!~]
-p, --punctuation
-q, --quotes
--dashes
-m, --math
--logograms
-C, --count <NUMBER> Number of passwords to generate [default: 1]
-L, --length <NUMBER> Sets the required password length [default: 10]
--output <OUTPUT> Output in a txt file
--exclude <EXCLUDE> Exclude char
--include <INCLUDE> include char
-h, --help Print help
-V, --version Print version
Clone this repo, go in deadpool folder and build it with cargo :
git clone https://github.com/Antidote1911/deadpool
cd deadpool
cargo build --release

