This tool generates one or several passwords. Choosing a password is a complex task: it has to be random, but also easy to remember (otherwise people write it down). When choosing one password, we can use a mnemotechnic sentence (tiap = this is a password) or mix words (house + 2,E: = h2o,uEs:e). When a program has to generate passwords (for example for all users of an enterprise), the main problem is where to find/store sentences and words. An attacker knowing those lists will find passwords using a brute force attack. This password generator uses another method. It generates passwords composed of the two first letters of images. An image is an easy to remember word. For example: netwox 191 --numimages 5 --lang-english password: soasprsivo images: SOap AStronaut PRofessor SIx VOlcano So, user only have to remember those 5 images: soap, astronaut, professor, 6 and volcano. Those images are easy to draw or represent ideas easy to draw. For higher security, choose 5 or more images. In order to provide complex passwords, variations of generated password are proposed. With the last example: variation1: soaspr2ivo. In this case, one letter has changed (s replaced by 2) variation2: soAsprs1vo. In this case, two letters have changed (a replaced by A, and i by 1) So, you can use soAsprs1vo instead of soasprsivo. Finally, parameter --pronounceable generates pronounceable passwords. For example: netwox 191 --pronounceable --maxsyllables 3
parameter | description | example |
-n|--numpassword uint32 | number of passwords to generate | 1 |
-i|--numimages uint32 | number of images in passwords | 5 |
-E|--lang-english|+E|--no-lang-english | use English words | This boolean is set. Use + or --no- to unset it. |
-F|--lang-french|+F|--no-lang-french | use French words | |
-S|--lang-spanish|+S|--no-lang-spanish | use Spanish words | |
-p|--pronounceable|+p|--no-pronounceable | generate pronounceable passwords | |
-m|--maxsyllables uint32 | max syllables in pronounceable passwords | 0 |
-a|--allowedcharvar data | allowed characters for variations | ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@|!()[]{}/$+&^* |