Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ответ 001 на задачу N 4
 
 автор: SoftTime   (06.02.2006 в 12:54)   письмо автору
 
 

Ответ 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

   
 
 автор: cheops   (08.02.2006 в 22:40)   письмо автору
 
   для: SoftTime   (06.02.2006 в 12:54)
 

Скрипт работает, к недостаткам следует отнести тот факт, что используются вложенные циклы и не происходит выход из них, если пароль найден, даже если пароль будет aaaa, скрипт отработает до конца. Кроме того скрипт не позволяет легко расширить диапазон символов в пароле, например, но русского алфавита, цифр и т.п. Но работает очень шустро - у меня каждый пароль искался 5 сек. Таблицу сравнения приведу позже в отдельной теме.

   
 
 автор: Artem S.   (08.02.2006 в 23:29)   письмо автору
 
   для: cheops   (08.02.2006 в 22:40)
 

Во всем согласен с cheops'ом.
Ничего сверхестественного нет, все просто ;)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования