[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Подобрать пароль
J1upuk
Нужно перебрать все комбинации символов, зная что кол-во знаков 4, а мощность алфавита [a-z0-9], т.е. 36^4 = 1679616 различных комбинаций, как организовать перебор, ума не приложу. Понятное дело это циклы или рекурсивная функция, но дальше этого понимания продвинуться не получается, помогите.
Invis1ble
откуда дровишки хэши?

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

J1upuk
Invis1ble
Хех, никакого криминала) Всего лишь тестовое задание для джуниора.)
"Подобрать пароли, зашифрованные методом MD5. Пароли включают только англ.
буквы в нижней раскладке и цифры. Длина пароля не превышает 4 символов.
Пароли:
23586e8a62e5ee0d6f5014d849601c0c
e7806b130b429fc9b5890608a2c60675
713ff7abce2ef30fc4f532bb68e92a1b
67dd64c651270524961da7a6686008ba"

Там слова: adci, omsk, php5, css3.

Но я думаю им всё же нужен код а не ответ на вопрос что под хешами скрывается xD

Раз символов всего 4, то думаю подойдут вложенные циклы.
Invis1ble
4 вложенных цикла, с полным перебором всех вариантов, брутфорс бессмысленный и беспощадный, это если нужен именно код

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Dezigo

1. Для начала напишите код который сгенерирует 1 679 616 hash.
2. У вас будет база данных с помощью её сможете сравнить этот hash
3. Либо напишите API, который подсоединиться к какому нибудь сайту у сам подставит значения. http://www.hashkiller.co.uk/md5-decrypter.aspx

Например база сайта включает в себя
Цитата
We have a total of just over 43.745 billion unique decrypted MD5 hashes since August 2007.
bestxp
все просто, генерируешь радужную таблицу и потом по ней смотришь свой хэш =)
J1upuk
Получилось, вот что написал.)

<?php
$patterns = [
'23586e8a62e5ee0d6f5014d849601c0c',
'e7806b130b429fc9b5890608a2c60675',
'713ff7abce2ef30fc4f532bb68e92a1b',
'67dd64c651270524961da7a6686008ba'
];

$abc = [
'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','1','2','3','4','5','6','7','8','9','0'
];

$cnt = count($abc) - 1;

for($i = 0; $i <= $cnt; $i++)
{
$c1 = $abc[$i];
for($j = 0; $j <= $cnt; $j++)
{
$c2 = $abc[$j];
for($k = 0; $k <= $cnt; $k++)
{
$c3 = $abc[$k];
for($l = 0; $l <= $cnt; $l++)
{
$c4 = $abc[$l];
$words[] = $c1 . $c2 . $c3 . $c4;
}
}
}
}


foreach($words as $word)
{
$hash = md5($word);
foreach($patterns as $item)
{
if($hash == $item)
echo $word . '<br>';
}
}

?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.