passgen/README.md
2024-04-28 19:27:31 +02:00

54 lines
1.6 KiB
Markdown

# passgen
passgen generates passphrases based on wordlists.
Usage:
```
Usage: passgen [options]
Options:
-h, --help Display this help message and exit
-s, --short Use the short EFF wordlist (dfault)
-l, --large Use the large EFF wordlist
--camelcase, -cc Generate passphrase in CamelCase format
-wl <path>, --wordlist <path>
Use a custom wordlist file located at <path>
-n <count>, -wc <count>, --wordcount <count>
Amount of words to use for passphrase, default = 5
--separator <seperator> Specify a character to use as a separator between words, default = `-`
Description:
Generate passphrases based on wordlists.
Examples:
passgen -h
passgen --short 4
passgen -wl /path/to/custom_wordlist.txt --wordcount 4
```
example output:
```
retrace-choice-litter-dreamt-zipping
```
This project uses the [EFF's Wordlists for Random Passphrases](https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases) and [PCG random](https://www.pcg-random.org/) to pick random words
Compiling:
Compile for Linux:
```
mkdir build-linux && cd build-linux && cmake .. && make
```
Compile for Windows:
```
mkdir build-windows && cd build-windows && cmake -DCMAKE_TOOLCHAIN_FILE=../mingw-toolchain.cmake .. && make
```
Wordlists are embedded using the following command:
```
xxd -i <path> > include/<path>.txt.hpp
```
Wordlists:
- https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt
- https://www.eff.org/files/2016/09/08/eff_short_wordlist_1.txt
- https://mko.re/diceware/diceware-wordlist-8k-composites-nl.txt