Skip to content

nathang15/Distributed-Hash-Cracking-Tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About The Project

This project proposes a distributed system architecture to efficiently crack SHA-256 hashes using a multi-threaded CPU approach. The system aims to mitigate the time-consuming process of password recovery by leveraging a server-client-worker model over TCP connection. The client initiates requests to the server for password hashes to be cracked. Upon receiving a request, the server orchestrates the distribution of tasks among multiple workers. Each worker operates concurrently, employing non-overlapping brute force techniques to crack passwords. The communication is done with Java RMI and aim to migrate to gRPC in the future.

Built With Java and Java RMI

Getting Started

Below are the steps to run the project. This is assuming you have JDK 21 and JRE available on your machine.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • npm
    npm install npm@latest -g

Installation and Run

Below is an example of how you can instruct your audience on installing and setting up your app. This template doesn't rely on any external dependencies or services.

  1. Clone the repo
    git clone https://github.com/nathang15/Distributed-Hash-Cracking-Tool.git
  2. Run SMain.java
    java SMain.java
  3. Run as much Workers as you like by running multiple WMain.java
    java WMain.java
  4. Run Client
    java CMain.java

Usage

This is only use for education purpose and was created as the final project for the course Comp352 - Computer Networks at Dickinson College

License

Distributed under the MIT License. See LICENSE.txt for more information.

About

Distributed SHA-256 hashes crack tool

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages