[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Параметры For
SvSerg
<?php

function
timer()
{
$t=explode(' ',microtime());
$subtime=$t[1].substr($t[0], 1);
return $subtime;
}

$total_start=timer();
?>
<html>

<
head>
<
title>Подбор паролей</title>
</
head>

<
body bgcolor=silver>
<
center>

<?php

// Начальные условия задачи
// -------------------
// Зашифрованные пароли

$crypted[1]="ee11cbb19052e40b07aac0ca060c23ee";
$crypted[2]="dd97813dd40be87559aaefed642c3fbb";
$crypted[3]="8dbc672497bdc46f88e864bb1121232c";
$crypted[4]="3e10f8c809242d3a0f94c18e7addb866";
// Максимальная длина пароля

$limit=4;
//-------------------

// Воспользуемся тем, что РНР работает с буквами так же, как с числами
// -----
// Формируем "максимальный" пароль

$char_limit="";
$c=1;
for ( ; $c <= $limit; $c++)
{
$char_limit .= 'z';
}
// Для четырех символов будет zzzz.

$clear_start=timer();

$stop=false;
$i="a";
for ( ; $i <= $char_limit; $i++)
{
foreach($crypted as $key => $item)
{
if (md5($i) == $item)
{
echo "Пароль №".$key.": ".$i.'<br>';
unset($crypted[$key]); // удаляем найденный пароль из массива
if (empty($crypted))
{
$stop=true; // флаг прекращения внешнего цикла
break;
}
}
}

if ($stop) break;
}

$end=timer();

$total=$end-$total_start;
$clear=$end-$clear_start;

?>

<p>
Всего времени (с инициализацией всех переменных): <?=$total?><br>
"Чистое" время (только брутфорс): <?=$clear?> <br>
На инициализацию потрачено: <?=$total-$clear?>

<center>

</
body>

</
html>





Меня интересует 2 момента.

Можно инициализировать переменную вне цикла, а в цикле этот параметр оставить пустым?
 $i="a";
for ( ; $i <= $char_limit; $i++)


И вот, что это за оператор вывода?

 <?=$total?><br>


Прокомментируйте пожалуйста.



Спустя 17 минут, 3 секунды (26.09.2010 - 11:09) inpost написал(а):
<?=$total?> - упрощенная система такой строки: <?php echo $total; ?>.
Использовать не рекомендуется. В дальнейшем будут проблемы с XML, а может ещё с другими вещами.
А что мешает сделать так (не интересовался, надо пробовать):
$a = "a";
for ($i = $a ; $i <= $char_limit; $i++)

Спустя 54 минуты, 54 секунды (26.09.2010 - 12:04) SvSerg написал(а):
Цитата (inpost @ 26.09.2010 - 08:09)
<?=$total?> - упрощенная система такой строки: <?php echo $total; ?>.
Использовать не рекомендуется. В дальнейшем будут проблемы с XML, а может ещё с другими вещами.
А что мешает сделать так (не интересовался, надо пробовать):
$a = "a";
for ($i = $a ; $i <= $char_limit; $i++)



Это работает.

Спасибо Инпост.

Спустя 1 час, 4 минуты, 53 секунды (26.09.2010 - 13:09) Ice написал(а):
1. Естественно можно. Мало того, можно вообще все три параметра оставить пустыми
for( ;; )

Тогда это будет бесконечный цикл. А можно задать и отслеживать сразу несколько переменных.

2. Второе будет работать только если в php.ini short_open_tags On, но лучше пусть будет Off

Спустя 1 час, 25 минут, 46 секунд (26.09.2010 - 14:35) SvSerg написал(а):
Спасибо Айс, ещё вопрос - переменная $i была определена вне цикла, а в цикле переменная $i остаётся с этим же значением или теряет его?


Спустя 15 минут, 58 секунд (26.09.2010 - 14:51) Ice написал(а):
с этим же, ессно

$i = 0;
for( ; $i < 10; $i ++ )
echo $i; // 0 1 2 3 4 5 6 7 8 9


Опускаем сразу 2 параметра:

$i = 0;
for( ; $i < 10; ) {
echo $i; // 0 1 2 3 4 5 6 7 8 9
$i ++;
}

Но вот это - бесконечный цикл, потому что нет условия прерывания:

$i = 0;
for( ; ; ) {
echo $i; // 0 1 2 3 4 5 6 7 8 9 ... n
$i ++;
}

но и его, в качестве примера работы с циклом, можно остановить:
$i = 0;
for( ; ; ) {
if( $i > 9 )
break;
echo $i; // 0 1 2 3 4 5 6 7 8 9
$i ++;
}

Спустя 22 минуты, 17 секунд (26.09.2010 - 15:13) SvSerg написал(а):
Ну теперь окончательно научил.

Спустя 4 минуты, 7 секунд (26.09.2010 - 15:17) Ice написал(а):
Что - приятно smile.gif

Спустя 42 минуты, 13 секунд (26.09.2010 - 15:59) SvSerg написал(а):
Да не то слово как Приятно, вообще на такие топики нужно структуризированно ссылки делать в виде списка, ну как справочник. Например:

Раздел "Циклы"
  • Свойства цикла FOREACH

Раздел "Переменные"

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

Спустя 2 часа, 30 минут, 50 секунд (26.09.2010 - 18:30) Ice написал(а):
некоторые одинаковые темы уже и вправду заманали, с одними и теме же поповскими рыбами.

Спустя 6 месяцев, 27 дней, 18 часов, 33 минуты, 38 секунд (24.04.2011 - 13:04) konstantin05 написал(а):
помогите написать bat-файл для вывода на экран количества подкаталогов у корневого каталога для дисководов, имена которых заданы параметрами.
Повторяющиеся имена дисководов игнорировать. у меня проблемы с for...

Спустя 3 минуты, 59 секунд (24.04.2011 - 13:08) Basili4 написал(а):
konstantin05
05 это возраст ???

Какое отношение bat имеют к пхп ??
Быстрый ответ:

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