https://github.com/gill-singh-a/dictionary-attack
A Python program that loads words from a file, caculates their respective hashes according to the Hash Algorithm Provided and then compares with the feeded Hashes to implement a Dictionary Attack, hence attempting to crack the given hashes
https://github.com/gill-singh-a/dictionary-attack
brute-force dictionary-attack encryption hashing python
Last synced: about 1 year ago
JSON representation
A Python program that loads words from a file, caculates their respective hashes according to the Hash Algorithm Provided and then compares with the feeded Hashes to implement a Dictionary Attack, hence attempting to crack the given hashes
- Host: GitHub
- URL: https://github.com/gill-singh-a/dictionary-attack
- Owner: Gill-Singh-A
- Created: 2023-12-26T11:10:56.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-02-28T05:51:03.000Z (about 2 years ago)
- Last Synced: 2025-01-04T15:42:01.905Z (over 1 year ago)
- Topics: brute-force, dictionary-attack, encryption, hashing, python
- Language: Python
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Dictionary Attack
A Python program that loads words from a file, caculates their respective hashes according to the Hash Algorithm Provided and then compares with the feeded Hashes to implement a Dictionary Attack, hence attempting to crack the given hashes.
## Requirements
Language Used = Python3
Modules/Packages used:
* hashlib
* pathlib
* datetime
* optparse
* colorama
* time
Install the dependencies:
```bash
pip install -r requirements.txt
```
## Input
It takes the following command line arguments:
* '-l', "--load": List of Wordlists (seperated by ',')
* '-H', "--hash": Hashes/Hash Files to Load (seperated by ',')
* '-a', "--hashing-algorithm": Hashing Algorithm (md5,sha1,sha224,sha256,sha384,sha3_224,sha3_256,sha3_384,sha3_512,sha512)
* '-w', "--write": "Name of the File for the data to be dumped (default=current data and time)"
* '-t', "--save-type": File type to dump the data into (text, csv, json, pickle, Default=text)
### Note
For Large Wordlists, the program may give memory error as it may not be able to load all the passwords at once into the memory. To overcome this, we can use *split* command in linux to split the Wordlist into smaller files.
For example: **-l** argument of *split* divided the file into small files each containing lines equal to the value provided in the **-l** argument (the last file would have lines equal to the total number of lines present in the initial wordlist modulus value provided in the **-l** argument)
```bash
split -l {lines} {name_of_the_file}
```