Я создал многопоточную программу на C ++, чтобы взламывать пароли длиной 7 символов (только символы нижнего регистра), используя алгоритм перебора.
Мой алгоритм в основном состоит из 7 вложенных циклов for, идущих от a до z и проверяющих каждую возможную комбинацию.
Прямо сейчас я делю свою работу следующим образом:
Если у меня 3 рабочих темы,
Поток 1: от xxxxxx до ixxxxxx
Поток 2: от jxxxxxx до rxxxxxx
Тема 3: от sxxxxxx до zxxxxxx
Таким образом, 3 потока будут продолжать и циклически повторяться, пока не найдут совпадение.
Основной поток будет ожидать возврата первого потока.
Мой вопрос: это лучший способ разделить работу между моими потоками? У вас есть идеи о том, как я мог бы быть более эффективным?
Кроме того, даже если это не основная часть моего допроса, можете ли вы придумать лучший способ, чем итерация 7 for-loop?
(Обратите внимание, что эта программа предназначена для школьного проекта, а не для взлома паролей)