Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Generowanie pewnych ciągów
Forum PHP.pl > Forum > PHP
MaKaO
Mam pytanie jak wygenerować ciągi typu:
a, b, c, d [...] aa, ab, ac [...] ba, bb, bc [...] d1, d2, d3 [...] z678, z679 [...] i tak do 9999 ... Może mi ktoś pomóc? :wink:
bamboos
[php:1:3e7c1c5be0]<?php
for($i = 48; $i <= 122; $i++){
if(($i > 57) && ($i < 97)) continue;
for($ii = 48; $ii <= 122; $ii++){
if(($ii > 57) && ($ii < 97)) continue;
echo chr($i) . chr($ii) . "<br>n";
}
}
?>[/php:1:3e7c1c5be0]
może tak ?!? to dla 2 znaków. Ale w analogiczny sposób dodaj kolejne pętle i będzie dla 4,5,6... ile sobie wymażysz ;P
radziel
[php:1:630414edc1]<?php
/*
Wypisuje wszystkie mozliwe kombinacje danych cyfr , liter, znakow itp
*/
function anagramy($wyraz) {
global $ilosc;
for ($i=0;$i<strlen($wyraz);$i++) {
$znak=$wyraz[$i];
$ile=count($tmp);
if ($ile==0) $tmp[]=$znak;
else {
for($k=0;$k<$ile;$k++) {
$ciag=$tmp[$k];
for($j=0;$j<=strlen($ciag);$j++) {
$new[]= substr($ciag,0,$j).$znak.substr($ciag,$j);
$ilosc++;
}
}
$tmp=$new;
$new="";
}
}
return $tmp;
}

$tmp = anagramy('abcdefghijklmnoprstuwy0123456789');
for ($i=0;$i<count($tmp);$i++) echo $tmp[$i]."<br>";

?>[/php:1:630414edc1]


Uważaj z tym, przy pięciu znakach jest już 120 kombinacji a przy wszystkich literach alfabetu to już pare milionów snitch.gif
MaKaO
Radziel ten skrypt jest dobry, tylko że chciałem coś w stylu sprawdzania kolejnych liter, przykładowo: aa, ab, ac, aab, aac itd...
A tu jest cab bac bca... Rozumiesz, chociaż ten też ciekawy :wink:
menic
czyli nic innego jak łamacz haseł tongue.gif Na forum ktoś sie tam gdzies kiedys dawno chwalił ze udało mu sie złamac md5, a zrobił zwykłego broot-force'a winksmiley.jpg Powinien ci tamten temat pomóc...
MaKaO
To nie łamacz haseł... I musicie mi uwierzyć na słowo, nie jestem żadnym lamerem co sie za hakera podaje, bo mnie to nie kręci :wink: Menic, a mógłbyś podać link?
bamboos
MaKaO: A co jest złego w moim kodzie?!
MaKaO
Cytat
MaKaO: A co jest złego w moim kodzie?!
Przepraszam, jakimś dziwnym sposobem to pominąłem... Zaraz dam znać w tym poście co i jak :wink:

-----------[EDIT]--------

[php:1:3307fab137]<?
for($i = 48; $i <= 122; $i++){
if(($i > 57) && ($i < 97)){
continue;
}
for($ii = 48; $ii <= 122; $ii++){
if(($ii > 57) && ($ii < 97)){
continue;
}
for($iii = 48; $iii <=122; $iii++){
if(($iii > 57) && ($iii < 97)){
continue;
}
echo chr($i) . chr($ii) . chr($iii) ."<br>n";
}
}
}
?>[/php:1:3307fab137]
Działa genialnie!! Wielkie dzięki... :wink:
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.