|
|
|
| Ответ 001 на задачу N 4.
С условиями задачи можно ознакомится по ссылке.
<?
function gettime() //функция записи времени
{
$part_time = explode(' ',microtime());
$real_time = $part_time[1].substr($part_time[0],1);
return $real_time;
}
$start_time = gettime(); //время начала
//$slovomd = "ee11cbb19052e40b07aac0ca060c23ee"; //user - 13.6924
//$slovomd = "dd97813dd40be87559aaefed642c3fbb"; //igor - 13.8154
//$slovomd = "8dbc672497bdc46f88e864bb1121232c"; //lena - 13.7054
$slovomd = "3e10f8c809242d3a0f94c18e7addb866"; //atom - 14.2060
for ($i=97; $i<123; $i++) //код askii: 97 - a, 123 - z
{
$slovo = chr($i);
if (md5($slovo) == $slovomd) //проверка однабуквенных паролей
{
echo "Слово: ".$slovo."<br>";
}
for ($k=97; $k<123;$k++)
{
$slovo = chr($i).chr($k);
if (md5($slovo) == $slovomd) //проверка двухбуквенных паролей
{
echo "Слово: ".$slovo."<br>";
}
for ($l=97; $l<123; $l++)
{
$slovo = chr($i).chr($k).chr($l);
if (md5($slovo) == $slovomd) //проверка трехбуквенных паролей
{
echo "Слово: ".$slovo."<br>";
}
for ($m=97; $m<123;$m++)
{
$slovo = chr($i).chr($k).chr($l).chr($m); //проверка четырехбуквенных паролей
if (md5($slovo) == $slovomd)
{
echo "Слово номер: ".$slovo."<br>";
}
}
}
}
}
$stop_time = gettime(); //время завершение выполнения скрипта
$time = bcsub($stop_time,$start_time,4); // Время выполнения скрипта
echo $time;
?>
|
http://www.softtime.ru/info/task.php?id_article=74 | |
|
|
|
|
|
|
|
для: SoftTime
(06.02.2006 в 12:54)
| | Скрипт работает, к недостаткам следует отнести тот факт, что используются вложенные циклы и не происходит выход из них, если пароль найден, даже если пароль будет aaaa, скрипт отработает до конца. Кроме того скрипт не позволяет легко расширить диапазон символов в пароле, например, но русского алфавита, цифр и т.п. Но работает очень шустро - у меня каждый пароль искался 5 сек. Таблицу сравнения приведу позже в отдельной теме. | |
|
|
|
|
|
|
|
для: cheops
(08.02.2006 в 22:40)
| | Во всем согласен с cheops'ом.
Ничего сверхестественного нет, все просто ;) | |
|
|
|