Заметил, что расшифровка хешей у многих тормозит именно на подготовительном этапе — проверка форматов, подбор нужных словарей, генерация правил. Чтобы не пересчитывать одно и то же кучей раз, у меня в работе идут такие проверки по шагам:
- Правильная распознаваемость типа хеша (MD5, SHA1, bcrypt...) — несколько раз проверяю, потому что тип задаёт стратегию дальше. Если промахнусь — могу пустую атаку запустить.
- Проверка качества словарей, часто приходится чистить дубликаты и дефолтный мусор по шаблону.
- Локальная подготовка стоп-слов и масок — чем точнее, тем меньше нагрузка на CPU.
- Не запускаю генерацию мутаций без приоткрытия исходников, на лету подстраиваюсь под формат конкретных хешей.
- Чекаю, есть ли у меня GPU или TPU для баланса CPU vs. ускорители — часто именно их отсутствие тормозит с попытками.
- Иногда использую готовые базы (например, для известных утечек), чтобы не пытаться дешифровать вручную.
- Последний пункт — мониторинг процесса: через логи сразу видно, если комбинации уже не меняют расклад.
Получается быстрее не по коду, а по инфраструктуре и подготовке. У кого что работает в реальных задачах? Может, есть нестандартные способы прокачать это дело?