Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcja Brutal Forca?
Forum PHP.pl > Forum > Przedszkole
Raz0r
Muszę napisac funkcję, która z ciągu powiedzmy[a-zA-Z] będzie wypisywała kolejne możliwości. Przedstawie to na przykładzie:

Kod
aaa
aab
aac
aad
[..]
aba
abb
abc
abd
[..]
zaa
zab


i tak dalej na zasadzie Brutal Forca biggrin.gif
Jakieś wskazówki, porady? smile.gif
Moli
Hmm może coś takiego. Tablica z alfabetem i zmienna z ilością znaków. W pętli która wykona się wedlug wzoru:
Cytat
liczba znaków * count ( tablica_z_alfabetem)

a w drugiej tablicy, zapiszujesz aktualną literę jaka dla danego znowu się wyświetla i przy każdym kolejnym wykonaniu zwiększasz to o 1.
melkorm
a nie lepiej trzy zagnieżdzone foreach'e z tablicą znaków ?

tzn. tylko dla ciągu o 3 znakach ;]
megawebmaster
To chyba lepiej for'y, i string ze znakami alfabetu w kolejności winksmiley.jpg Tylko jak obejść ilość znaków...
Raz0r
To był tylko przykład, znaków będzie więcej niż 3 winksmiley.jpg Najprawdopodobniej będę chciał też dodac znak "_"
Moli
Domyślam się co chcesz zrobić. Automat do sprawdzania krótkich, wolnych domen ? smile.gif
Raz0r
Niestety nie smile.gif Program do brutalnego łamania nazwy tabel w SQL Injection, gdy nie ma information_schema biggrin.gif
vokiel
Cytat(Raz0r @ 3.05.2009, 18:21:54 ) *
(...)i tak dalej na zasadzie Brutal Forca biggrin.gif
Jakieś wskazówki, porady? smile.gif

Tak, ten atak to Brute Force

A tak na poważnie to nie wiem czy jest jakiś gotowy algorytm na to. Trzeba by się zainteresować matematyką/statystyką, a szczególnie probablistyką lub kombinatoryką. Myślę, że w tym przypadku najlepsze będą wariacje bez powtórzeń, a jeśli liczba znaków ma odpowiadać całkowitej liczbie znaków zbioru wejściowego wtedy będą to permutacje bez powtórzeń.

Przykład wariacji bez powtórzeń: Z cyfr 1, 2, 3, 4, 5 można utworzyć 60 liczb trzycyfrowych o różnych cyfrach.

Teraz powstaje pytanie jak?
Rozwiązaniem może być Porządek leksykograficzny
Spawnm
to chyba jakieś zadanie z szkoły , kilka dni temu powstał identiko topic , tam jest rozw smile.gif
Raz0r
Kurde, no nie tak łatwo coś tutaj znaleźc winksmiley.jpg
Spawnm
w moich pomógł winksmiley.jpg
$x='aa';
$x++; /$x=ab
itd smile.gif
Raz0r
O kurde, to działa! biggrin.gif

Kod
<?php

$a='aa';

for($a=$a; $a<='z'; $a++) {

echo $a."<br>";

}
?>


Jednak takie cuś printuje mi

Kod
aa
ab
ac
ad
[...]
yw
yx
yy
yz


Natomiast takie:

Kod
<?php

$a='aa';

for($a=$a; $a<='zz'; $a++) {

echo $a."<br>";

}
?>


Kod
aa
ab
ac
ad
[...]
zyv
zyw
zyx
zyy
zyz


questionmark.gif
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.