Here’s HashNinja, a high-speed & unique multithreaded dictionary attack implementation that attacks a supported hash with a “chunkified” user-defined dictionary file to find the string candidate that corresponds to the supplied hash.

Supported Hashing Algorithms
- BLAKE2b
- BLAKE2s
- MD5
- SHA-1
- SHA-2 (224-bit)
- SHA-2 (256-bit)
- SHA-2 (384-bit)
- SHA-2 (512-bit)
- SHA-3 (224-bit)
- SHA-3 (256-bit)
- SHA-3 (384-bit)
- SHA-3 (512-bit)
- SHAKE-128
- SHAKE-256
Hash Generator: String → Hash Converter (for tests)
HashNinja also comes with a “Hash Generator” program that converts a user-input string to a hash of the selected hashing algorithm, and then automatically copies the generated hash to the clipboard; mainly for the purpose of testing HashNinja conveniently.

This project was created in Python, for experimental/observational purposes; and can also be aided with our own super fast numbered dictionary generator NumNinja (up to 2M+ lines per second) for numeric attacks.
Optimization
The high hash-matching speed is owed to the approach of “chunkifying” the dictionary file (creating multiple “chunks” of the dictionary) and then operating upon all those simplified chunks concurrently (multithreading) in different directions (forward and backward) for significantly higher overall balance, efficiency and performance.

I’m at work browsing your website. Just wanted to say I love reading through your stiff and look forward to all your posts carry on the superb work!
LikeLike
This is so cool! Your blogs are my most favourite. I got to learn so much from them!!!
LikeLike