Алгоритм подбора паролей

zEitEr

Новичок
Алгоритм подбора паролей

ХАй, всем!!!

Подскажите, плз. Простейший или по сложнее алгоритм подбора паролей... Просто сам алгоритм... средствами PHP.

Для себя... не во вред другим юзерам и обитателям Инета :)
 

zEitEr

Новичок
//Ну вы не совсем поняли... все дело в том, что

//Допустим:

//Есть набор символов:

$chars = array( 'a', 'A', 'b', 'B', 'c', 'C', 'd', 'D', 'e', 'E', 'f', 'F', 'g', 'G', 'h', 'H', 'i', 'I', 'j', 'J', 'k', 'K', 'l', 'L', 'm', 'M', 'n', 'N', 'o', 'O', 'p', 'P', 'q', 'Q', 'r', 'R', 's', 'S', 't', 'T', 'u', 'U', 'v', 'V', 'w', 'W', 'x', 'X', 'y', 'Y', 'z', 'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '!', '=', '');

//Есть цикл, в котором символы из массива и сравниваются скажем с паролем:

$sec_password = " password";

for ($i = 0; $i < sizeof($chars); $i++)
{

$check = "$chars[$i]";

if ($check == $sec_password)
{
echo "Пароль подобран: $aa<br>\n";
break;
}
}

Все это конечно примерно... Загвоздка в следующем... Как сделать, чтобы строка, записанная в $check, была бы не фиксированной длины в один символ а по мере прохождения цикла увеличивалась, к примеру до 8 символов?

В данном случае получается, что цикл выполняется а пароль можно подобрать только длиной в один символ... Ну куда это годится?

А словари... я не уверен, что это самый подходящий вариант...
 

Demiurg

Guest
echo pow(sizeof($chars) , 8)) / 1000 / 3600/24 / 365 / 1000;
получишь, количество веков необходимое для перебора всех возможных комбинаций с учетом перебора 1000 компбинаций в секунду. Раздели на 2 и получишь ожидаемое время совпадения.
 

StUV

Rotaredom
подумай, как создать на основе $chars строки:
aaa, aab, aac, aba, abb, abc, aca, acb, acc, baa, ...
дальше сам =)
 

zEitEr

Новичок
2 Demiurg:
10.104160733467 - это ВЕКОВ?

2 StUV:
Да вот пока не особо получается...
Максимум на что меня хватало, это до:
aa, ab, ac, ba, bb, bc и т.д.
 

Demiurg

Guest
не, гоню .. это не веков, это тысячелетий.
 

zEitEr

Новичок
И что это время никак не сократить и не увеличить скорость?
 
Сверху