[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: перебор букв
xotabb
как сделать перебор букв,
допустим что бы выводились на экран a потом b потом c .... aa потом ab...
сделал пару версий, но они глючные получились



Спустя 22 минуты, 53 секунды (17.06.2010 - 15:52) Nikitian написал(а):
Но был бы рад, если бы поняли почему именно так

<?php
$maxlength=3;//Максимальная длина
$str=array();
for($i=1;$i<=$maxlength;$i++){
for($j=ord('a');$j<=ord('z');$j++){
$tmp=chr($j);
if($i>1){
$k=$i-1;
if(is_array($str[$k]) && sizeof($str[$k])>0){
foreach($str[$k] as $word){
$str[$i][]=$word.$tmp;
}
}

}

else
$str[$i][]=$tmp;
}
}

print_r($str);

Спустя 41 минута, 38 секунд (17.06.2010 - 16:33) xotabb написал(а):
sps

Спустя 1 минута, 13 секунд (17.06.2010 - 16:35) tomash написал(а):
$a = array ('a', ... , 'z');

function count_i($i, $a)
{
$d = $a;
//print_r($a);
print '<br>';
if($i>0)
{
$i--;
foreach($d as $b)
{
foreach($a as $c)
{
$d[] = $b.$c;
}
}

$d = count_i($i,array_unique($d));
}
return $d;
}

Спустя 9 минут, 23 секунды (17.06.2010 - 16:44) xotabb написал(а):
но это не со всем то что нужно.
мне нужно чтобы на страницу выводилось "a b c ... aa ab ac ... ba bb bc"
без всяких равно и тд!

Спустя 3 минуты, 26 секунд (17.06.2010 - 16:47) tomash написал(а):
$a= array('a','b','c');
$a = count_i(3, $a);
print_r ($a);
function count_i($i, $a)
{
$d = $a;
//print_r($a);
print '<br>';
if($i>0)
{
$i--;
foreach($d as $b)
{
foreach($a as $c)
{
$d[] = $b.$c;
}
}

$d = count_i($i,array_unique($d));
}
return $d;
}

Спустя 2 минуты, 32 секунды (17.06.2010 - 16:50) Nikitian написал(а):
Заменить print_r($str); на

foreach($str as $s)foreach($s as $t)echo$t.' ';

А лучше просто почитать про функцию print_r() и работу с массивами.

Спустя 49 секунд (17.06.2010 - 16:51) xotabb написал(а):
Array ( [0] => a [1] => b [2] => c [3] => aa [4] => ab [5] => ac [6] => ba [7] => bb [8] => bc [9] => ca [10] => cb [11] => cc [15] => aaa [16] => aab [17] => aac [18] => aba [19] => abb [20] => abc [21] => aca
вот что выдаёт ваш код!
а мне нужно без всяких array и [0]=>

Спустя 3 минуты, 1 секунда (17.06.2010 - 16:54) xotabb написал(а):
Nikitian
то что нужно а как сделать что бы их больше было, ну допустим aaaaaa...zzzzzz

Спустя 1 минута, 37 секунд (17.06.2010 - 16:55) xotabb написал(а):
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 16 bytes) in Z:\home\test1.ru\www\1.php on line 11 djn вот что вылазит

Спустя 47 секунд (17.06.2010 - 16:56) tomash написал(а):
xotabb
А Вас не учили спасибо говорить?

Спустя 4 минуты, 15 секунд (17.06.2010 - 17:00) xotabb написал(а):
tomash
спасибо говорить умею, но обычно жду окончания темы!
ВСЕМ СПАСИБО ОСОБЕННОNikitian

Спустя 3 минуты, 3 секунды (17.06.2010 - 17:04) Nikitian написал(а):
xotabb
Коммент "//Максимальная длина" ни о чём не говорит?

Ошибка - памяти не хватает. Результирующий массив в памяти не помещается. Смотрите в сторону параметра memory_limit из php.ini:
.htaccess
php_value memory_limit 1024M

Спустя 2 минуты, 29 секунд (17.06.2010 - 17:06) xotabb написал(а):
ок, всем ещё раз спасибо! проблема решена.
жаль что это упростить нельзя

Спустя 45 минут, 56 секунд (17.06.2010 - 17:52) xotabb написал(а):
Nikitian
$maxlength=3;//Максимальная длина
как можно зделать без максимума?

Спустя 25 минут, 3 секунды (17.06.2010 - 18:17) Nikitian написал(а):
Цитата (xotabb @ 17.06.2010 - 14:52)
Nikitian
$maxlength=3;//Максимальная длина
как можно зделать без максимума?

$maxlength=9999999;

Увидите пароль в 10^6 символов или больше - сообщите smile.gif
По секрету, даже пары длинной 100 символов у вас будут генерироваться не один год.

Спустя 45 минут, 41 секунда (17.06.2010 - 19:03) xotabb написал(а):

<?php
$hash=$_GET['abc'];
$maxlength=4;//Максимальная длина
$str=array();
for($i=1;$i<=$maxlength;$i++){
for($j=ord('a');$j<=ord('z');$j++){
$tmp=chr($j);
if($i>1){
$k=$i-1;
if(is_array($str[$k]) && sizeof($str[$k])>0){
foreach($str[$k] as $word){
$str[$i][]=$word.$tmp;
}
}

}

else
$str[$i][]=$tmp;
}
}

foreach($str as $s)foreach($s as $t)
if(md5($t) == $hash)
break;
echo "ваш md5 ($hash) = $t";
//echo$t.' ';
?>

я знаю сколько они генерирует по времени!
но тут видите ли какая проблема, какой количества макслент, именно из столь ки букв и должен состоять пароль не в md5
букв должен

Спустя 13 минут, 5 секунд (17.06.2010 - 19:16) qpayct написал(а):
for ($i='a'; $i<'zz'; $i++)
$s.= $i ."<br />";
echo $s;

Спустя 19 минут, 37 секунд (17.06.2010 - 19:35) SlavaFr написал(а):
Цитата (qpayct @ 17.06.2010 - 16:16)
for ($i='a'; $i<'zz'; $i++)
$s.= $i ."<br />";
echo $s;

да, я в начале к этому коду скептично отнесся и был удевлен что это действительно работает.


Спустя 8 минут, 59 секунд (17.06.2010 - 19:44) xotabb написал(а):
SlavaFr
можешь не кусок кода прислать, в вставить его в мой куда нужно
извини за наглость, но у меня при внедрение он всё равно тупит

Спустя 2 минуты, 37 секунд (17.06.2010 - 19:47) qpayct написал(а):
SlavaFr,
очень зря. зачем же забывать, что память в php - хэш в отличие от С/C++

Спустя 3 минуты, 38 секунд (17.06.2010 - 19:51) SlavaFr написал(а):
@xotabb это же форум для программистов, а не для конечных потребителей!
Цитата
извини за наглость

нет проблем.

Спустя 11 минут, 6 секунд (17.06.2010 - 20:02) xotabb написал(а):
я совсем завис, что тут не верно
for ($i='a'; $i<'zzz'; $i++)
$s.= $i;
if(md5($s) == "0cc175b9c0f1b6a831c399e269772661")
break;
echo "ваш md5 (0cc175b9c0f1b6a831c399e269772661) = $s";

Спустя 28 секунд (17.06.2010 - 20:02) SlavaFr написал(а):
Цитата (qpayct @ 17.06.2010 - 16:47)
SlavaFr,
очень зря. зачем же забывать, что память в php - хэш в отличие от С/C++

согласись, что инкрементировать буквы это не совсем нормально!
блогадаря тому, что в пхп подстраивание типов по соображению удобства происходит автоматически, то появляется возможность делать такие невменяемые операции.
в каом языке еще можно из
echo "20 яблок"+"2 груши";
получить 22?

Спустя 4 минуты, 19 секунд (17.06.2010 - 20:07) SlavaFr написал(а):
@xotabb ты решил начать хакерством заниматся еще до того как программировать научился? smile.gif

в любом случае тебе скобак не хватает.

Спустя 3 минуты, 12 секунд (17.06.2010 - 20:10) xotabb написал(а):
в любом случае тебе скобак не хватает.
поесни?
я смотреть скобки!
просто у меня базы пары крупных проектов есть вот и вскрываю их потихоньку

Спустя 5 минут, 33 секунды (17.06.2010 - 20:15) qpayct написал(а):
SlavaFr
это не просто так для удобства , а как раз потому, что память в php - хэш

xotabb
for ($i='a'; $i<'zzz'; $i++)
if(md5($i) == "0cc175b9c0f1b6a831c399e269772661") {
echo "ваш md5 = ". md5($i);
break;}

Спустя 2 минуты, 3 секунды (17.06.2010 - 20:17) tmt0086 написал(а):
cool.gif ганги бы базу rolleyes.gif

Спустя 8 минут, 43 секунды (17.06.2010 - 20:26) SlavaFr написал(а):
@qpayct я чесно говоря не совсем понимаю взоимосвязь языка с хешем.
разясни пожалуста.
ты имееш в виду то что пхп через интерпретер во время вызова компилируется или чтото другое?

спасибо.

Спустя 9 минут, 50 секунд (17.06.2010 - 20:36) qpayct написал(а):
нет.
я о том, как устроена память в пхп в отличие от массивов в С

Спустя 11 минут, 10 секунд (17.06.2010 - 20:47) Ice написал(а):
Цитата (xotabb @ 17.06.2010 - 21:02)
я совсем завис, что тут не верно
for ($i='a'; $i<'zzz'; $i++)
$s.= $i;
if(md5($s) == "0cc175b9c0f1b6a831c399e269772661")
break;
echo "ваш md5 (0cc175b9c0f1b6a831c399e269772661) = $s";

РНР же явно пишет, что переменная не определена. Что значит оператор точкаравно? Ответив на этот вопрос, должен появиться вопрос - к чему? - а затем придет и решение проблемы. Скобки здесь не причём

Спустя 58 секунд (17.06.2010 - 20:48) xotabb написал(а):
кому нужн, вот


<?php
//md5 кодировщик и расшифровщик version=0.3
//в скором времени нам и соль будет не страшна
//Автор:xotabb и весь phpforum.ru
//распространяется бесплатно

/****************************************************цыфры********************/
echo"<form action='?' method='GET' name='md'>
ваш код md5(цифры):<input type='text' name='hash'><input type='submit' value='md5>>>123'name='md5'></form>"
;
if($_GET['md5']) {
$hash = $_GET['hash'];
if(isset($hash)) {
$xmd=9999999;
for($i = 0;$i<$xmd; $i++)
if(md5($i) == $hash)
break;
echo "ваш md5 ($hash) = $i";
} else {echo "error";};
};
/*****************************************************буквы**************************/
echo"<br><form action='?' name='formabc' method='GET'>ваш код md5(буквы):<input type='text' name='abc'><input type='submit' value='md5>>>abc' name='bca'></form>";
if($_GET['bca']) {
$hashabc=$_GET['abc'];
for ($i='a'; $i<'zzzzzzz'; $i++)
if(md5($i) == "$hashabc") {
echo "ваш md5 = $i";
break;};
};

/****************************************************зашифровка***************************/
echo"<br><form action='?' name='m-d' method='GET'>
зашифровать в md5:<input type='text' name='vmd'><input type='submit' name='vmd5' value='>>>md5'></form>"
;
if($_GET['vmd5']) {
$vmd5=$_GET['vmd'];
$otv=md5($vmd5);
echo"$otv";
};
?>

Спустя 5 минут, 58 секунд (17.06.2010 - 20:54) SlavaFr написал(а):
Ok, память наверное работает по другому,
как точно незнаю и как это на прямую на типы влияет мне тоже не известно.
В общем это наверное и не так важно.
Мне дали язык и я на нем изяснятся должен, а инкрементирование букв я считаю не совсем нормалным явлением, в независемости от возможно виновного в этом хэша.

Спустя 1 минута, 23 секунды (17.06.2010 - 20:55) waldicom написал(а):
Цитата (qpayct @ 17.06.2010 - 19:36)
нет.
я о том, как устроена память в пхп в отличие от массивов в С

Так почему
Цитата
это не просто так для удобства , а как раз потому, что память в php - хэш

?

Спустя 3 минуты, 34 секунды (17.06.2010 - 20:59) qpayct написал(а):
а это может никак и не связано. я вообще это сказал потому, что с массивами в пхп удобно работать этож не С

Спустя 1 минута, 48 секунд (17.06.2010 - 21:01) waldicom написал(а):
Цитата (qpayct @ 17.06.2010 - 19:59)
а это может никак и не связано. я вообще это сказал потому, что с массивами в пхп удобно работать этож не С

Нормально...
Ты же написал:
Цитата
очень зря. зачем же забывать, что память в php - хэш в отличие от С/C++

на шару написал, чтоли?

Спустя 2 минуты, 52 секунды (17.06.2010 - 21:04) qpayct написал(а):
ты меня погрузить решил? biggrin.gif

почитай всю тему. я человеку обьяснил, что всё что он тут накодил - шлак, а память в пхп - хэш вот потому так и получается.


_____________
if (isset($beer)) drink($beer) ;
Быстрый ответ:

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