These are a collection of data driven (based on data) password-guessing tools written in Python. The tools will get smarter as I update them.
There are a number of datasets out there but here, I used the most common one 'rockyou.txt' which can be downloaded from here
The model is based on bi-gram, collects a sequence of two characters, and calculates probabilities. It has embedded passwords and calculates probabilities on the fly as the number of passwords is small relatively.
Run 'python3 password_generator_v1.py m n' ( n passwords of length m )
This is a better version that is an extention of the first one. It is based on 4-gram.
-Download a trained 4-gram dic dump (pkl file) here
-pip3 install requirments.txt # (it just contains numpy in case you dont have it)
-python3 password_generator_v1.py m n # n amount of passwords with length m
-train_n_gram.py -o 'output path' -n 'lenght n- gram default is 4' -t 'path to trainset, default is rockyou.txt'
-It outputs a pkl dump of normalized dict file
-For inference ngram_inference.py file above
-To get help, type in python train_n_gram.py -h
-To run the trained, python3 ngram_inference.py m n m n # n amount of passwords with length m
-Training your own dataset for all methods
-PASSGAN inference based on the [paper](https://arxiv.org/abs/1709.00440)
-RNN and LSTM-based password guessing for inference
-GPT-based password guessing for inference