|
||
---|---|---|
rust | ||
.gitignore | ||
LICENSE | ||
README.md | ||
calculate_combinations.py | ||
regression_calc.py | ||
three-word-comination-generator.py | ||
time_comparison.py |
README.md
three-word-combination-generator
An attempt to re-implement the Python written by JC/yosignals for his Three-Word Password Attacks blog: https://thecontractor.io/three-word-password-attacks/. Also some Python utilities for the fun of it. This code is paired with a blog post.
time_comparison.py
Open it and have a read. This was mostly for my own benefit in profiling different optimisation strategies. You can add cProfile hooks on the functions to get profiling data if needs be.
calculate_combinations.py
Modify var n
on line 4 to the number of words in your input.txt
to generate a firm total of the number of combinations and an estimate of the size of the file on disk, assuming an average word length of 10. You can change this assumed average on line 8.
regression_calc.py
Requires numpy and scipy installed (grab both from pip).
This is a utility to estimate how long it will take to generate combinations from source files with more words. Run gen_password_combinations.go
on a series of small samples of your source (e.g., head -n {16,64,128,256,512} input.txt). Grab the value from "Elapsed Time" when they complete and plug them into the arrays on line 5 and 6. There are some existing examples in there already from my own local testing. The time_per_action
values can be as precise as you like. Then modify var N
on line 16 to the number of words in your input.txt
and run to generate an estimated time in seconds to generate all the possible combinations.