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

Форум PHP

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

 

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

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

тема: помогите с алгоритмом перебора букв
 
 автор: casper   (16.08.2005 в 16:39)   письмо автору
 
 

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

Зарание благодарен.

   
 
 автор: Киналь   (16.08.2005 в 16:42)   письмо автору
 
   для: casper   (16.08.2005 в 16:39)
 

Создаем строку из всех букв алфавита (абвгдеёжзик....) и перебираем в цикле ее элементы ($str[$i]).

   
 
 автор: casper   (16.08.2005 в 16:49)   письмо автору
 
   для: Киналь   (16.08.2005 в 16:42)
 

не, я имел ввиду что каждая строка должна будет состоять из нескольких букв. То как тогда сделать? ведь если строка состоит из 4 букв, то разных выриантов будет тысячи, и мне нужны все эти вырианты..

   
 
 автор: Axxil   (16.08.2005 в 17:07)   письмо автору
 
   для: casper   (16.08.2005 в 16:49)
 

если строка состоит из четырёх букв вариантов перестановок будет 4! = 24
Поясните пожалуйста подробнее что вы хотите сделать. Постановка задачи - важный этап.

   
 
 автор: Artem S.   (16.08.2005 в 17:21)   письмо автору
 
   для: casper   (16.08.2005 в 16:49)
 

Хотел написать код... но понял что так просто не выйдет

   
 
 автор: cheops   (16.08.2005 в 17:25)   письмо автору
 
   для: casper   (16.08.2005 в 16:39)
 

Так а цель какая? Что требуется делать с буквами?

   
 
 автор: Киналь   (16.08.2005 в 17:59)   письмо автору
 
   для: cheops   (16.08.2005 в 17:25)
 

Видимо. это что-то вроде генерации случайного пароля. тогда вот:

//Генерируем случайный семизначный пароль
{
$str="абвгдеёжзиклмнопрстуфхцчшщъыьэюя";
$new_pass='';
for($i=1; $i <= 7; $i++)
    {
    $new_pass.=substr($str,rand(0, 74), 1);
    }
}

   
 
 автор: casper   (16.08.2005 в 18:35)   письмо автору
 
   для: Киналь   (16.08.2005 в 17:59)
 

В том то и дело что нужно не случайным образом а по порядку. Цель - сделать брут для подборки паролей.
Вообщем вот что у меня получилось:

$str = "abc";
while($q<strlen($str))
{
for($i=0; $i<strlen($str); $i++)
{
        for($r=0; $r<strlen($str); $r++)
        {
                for($f=0; $f<strlen($str); $f++)
                {
                        $pass = $str[$q];
                        $pass .= $str[$i];
                        $pass .= $str[$r];
                        $pass .= $str[$f];
                echo "$pass<br>";
                $m++;
                }
        }
}
$q++;
}

То есть создаётся 81 паролей, каждый длиной в 4 символа. А если добавить в $str = "abcd"; еще одну букву, то количество новых паролей уже будет 256.

   
Rambler's Top100
вверх

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