Прежде чем я перейду к самому вопросу, я хотел бы прояснить некоторые вещи, потому что я знаю, как нелепо может звучать «грубая форсировка с помощью javascript», когда она вырвана из контекста :).
Я работаю над своей бакалаврской диссертацией, в конце которой я стремлюсь реализовать экспериментальный взломщик хэшей на основе Javascript. Идея состоит в том, чтобы работать следующим образом: пользователи могут отправлять хэш-значение вместе с информацией об используемом алгоритме. (Другие) пользователи также могут нажать кнопку на веб-сайте, чтобы принять участие в процессе взлома. Задача сервера — принимать и разбивать поданные «заказы» на диапазоны в зависимости от количества доступных работников. Затем диапазоны отправляются клиентам, которые нажали указанную кнопку.
В настоящее время я застрял с двумя большими вопросами о том, как на самом деле реализовать эту функцию грубой силы. Итак, моя главная проблема сейчас в том, что, честно говоря, я еще не совсем освоился с Javascript. Для начала я бы просто использовал жестко закодированный набор символов: буквенно-цифровой, нижний и верхний регистр, никаких специальных символов. Проблема в том, что я, честно говоря, понятия не имею, как на самом деле реализовать функцию, которая будет проверять все комбинации символов, как это запрограммировать. Я могу представить себе использование обычного массива, содержащего кодировку, а затем две строки. Одна строка будет содержать диапазон, другая — проверенные комбинации. Так что мне каким-то образом пришлось бы перебирать массив кодировок и строки, возможно, с каскадными циклами for или чем-то еще, но я действительно застрял с вопросом «как именно» :). Я не ожидаю, что кто-либо из вас действительно предоставит мне полный исходный код такой функции (если вы этого, конечно, не захотите), но я был бы очень признателен за некоторые подсказки или объяснения о том, как реализовать такую функцию грубой силы. На данный момент я бы также не беспокоился о производительности или оптимизированном кодировании, а скорее о комплексном кодировании или как бы вы это ни называли :)
Извините, если я запутался в некоторых деталях в своем вопросе. Если да, скажите, и я, конечно, постараюсь уточнить дальше.