Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CrackHash

📌 Описание проекта

CrackHash - распределённая система для подбора строк по их MD5-хэшу методом полного перебора (brute-force).

Система построена по архитектуре master-worker и состоит из двух компонентов:

  • Manager - принимает запросы, разбивает задачу на части, отправляет воркерам и агрегирует результаты
  • Worker - перебирает строки и вычисляет их MD5

Как работает система

  1. Клиент отправляет MD5-хэш и максимальную длину строки в Manager
  2. Manager создаёт уникальный requestId
  3. Пространство поиска делится на части по количеству воркеров
  4. Каждому воркеру отправляется своя часть
  5. Воркеры перебирают комбинации и ищут совпадения
  6. Результаты отправляются обратно в Manager
  7. Клиент получает статус задачи по requestId

Основные возможности

  • Распределённые вычисления
  • Масштабирование за счёт увеличения количества воркеров
  • Асинхронная обработка задач
  • Отслеживание статуса по requestId
  • Кэширование результатов
  • Обработка отказов (часть воркеров может упасть)

Ограничения

  • Используется только алгоритм MD5
  • Алфавит по умолчанию: a-z + 0-9

Запуск проекта

Требования

  • .NET 10 SDK
  • Docker
  • Docker Compose
  • Git

Быстрый старт

git clone <your-repo>
cd crack-hash
docker-compose up --build

Client API

Создание задачи

POST /api/hash/crack

{
  "hash": "5d41402abc4b2a76b9719d911017c592",
  "maxLength": 5
}

Ответ:

{
  "requestId": "uuid"
}

Проверка статуса

GET /api/hash/status?requestId=<uuid>{=html}

Статусы:

IN_PROGRESS - выполняется READY - завершено PARTIAL_RESULT - частичный результат ERROR - ошибка


Internal API

Manager → Worker

POST /internal/api/worker/hash/crack/task

(XML)

Worker → Manager

PATCH /internal/api/manager/hash/crack/request

(XML)


Архитектура

  • Manager распределяет задачи
  • Воркеры работают независимо
  • Результаты собираются асинхронно

Технологии

  • C#\
  • .NET 10 / ASP.NET Core
  • Docker
  • HTTP (JSON + XML)
  • In-memory cache
  • Git

Особенности

  • Таймауты\
  • Fault tolerance\
  • Частичные результаты\
  • Background services

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages