Информационная безопасность → Концепция интернет-сервиса распределенного подбора паролей из песочницы
Общеизвестно, что несмотря на текущее развитие вычислительных мощностей и технологий их использования, задача полного перебора возможных значений пароля при известном хэше остается во многих случаях весьма ресурсоемкой (прежде всего по времени). Сложность задачи складывается из размера словаря и сложности хэш-алгоритма. Размер словаря в свою очередь зависит от числа слов в алфавите и максимальной и минимальной длины пароля. Курс комбинаторики нам подсказывает, что для алфавита длиной C символов и максимальной длины слова N размер словаря будет равен C^N. В то же время задача полного перебора хорошо распараллеливается и идея распределенного брутфорса хэшей не нова и даже имеет публичные реализации. Однако, мне до сих пор не встречался публичный сервис, имеющий широкий выбор хэш-алгоритмов, и построенный на идее краудсорсинга. Далее я кратко изложу концепцию подобного сервиса.
JavaScript → Архитектура YASS. Часть 3: проблема выбора
Это третья статья из цикла, посвященного разбору практических методов, заложенных в основу YASS. Первая статья была про модульное построение, вторая — про логику выбора CSS-селектора и организацию циклов.
Начнем с наиболее очевидной составляющей любой логики: ветвления. В любом алгоритме встречается место, в котором нужно выбрать то или иное продолжение в зависимости от проверяемого условия. Давайте рассмотрим следующие примеры. В первом случае у нас три простых вложенных проверки:
Условное ветвление
Начнем с наиболее очевидной составляющей любой логики: ветвления. В любом алгоритме встречается место, в котором нужно выбрать то или иное продолжение в зависимости от проверяемого условия. Давайте рассмотрим следующие примеры. В первом случае у нас три простых вложенных проверки:
var a = 1,
b = 2,
c = 3;
if(a == 1) {
if (b == 2) {
if (c == 3) {
...
}
}
}