Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V   1 2 3 >  
Closed TopicStart new topic
> [MySQL][PHP]Generator wszystkich mozliwych ciagow znakow
konradkw
post
Post #1





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 31.05.2010

Ostrzeżenie: (0%)
-----


Witam! napisalem bardzo prosty generator ciagow znakow losowych, generujacy wszystkie mozliwe kombinacje osmiu znakow uprzednio zdefiniowanych w kodzie.

1. Generator jest bardzo niewydajny poniewaz sie powtarza, dodatkowo nie konczy pracy poniewaz znajduje tylko kombinacje 3 ostatnich znakow.
2. Chcialbym aby wyniki byly zapisane w pliku tekstowym poniewaz baza danych moze tego nie wytrzymac.

Mozecie podpowiedziec jak to rozwiazac?

  1.  
  2. $znaki = array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "R", "S", "T", "U", "W", "X", "Y", "Z", "V","a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "y", "x", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
  3.  
  4. $count = count($znaki);
  5. $operacje = 0;
  6.  
  7. for($i=0;$i<$count;$i++)
  8. {
  9. for($g=0;$g<$count;$g++)
  10. {
  11. for($h=0;$h<$count;$h++)
  12. {
  13. for($i2=0;$i2<$count;$i2++)
  14. {
  15. for($g2=0;$g2<$count;$g2++)
  16. {
  17. for($h2=0;$h2<$count;$h2++)
  18. {
  19. for($i3=0;$i3<$count;$i3++)
  20. {
  21. for($g3=0;$g3<$count;$g3++)
  22. {
  23.  
  24. $wyraz = $znaki[$i].$znaki[$g].$znaki[$h].$znaki[$i2].$znaki[$g2].$znaki[$h2].$znaki[$i3].$znaki[$g3];
  25.  
  26. $sprawdz = mysql_query ("SELECT * FROM `generator` WHERE `haslo` = '$wyraz' LIMIT 1");
  27. while ($raw = mysql_fetch_array($wynik, MYSQL_ASSOC))
  28. {
  29. $jest = 'tak';
  30. }
  31. if ($jest != 'tak')
  32. {
  33. $dodaj = mysql_query("INSERT INTO `generator` (haslo) VALUES ('$wyraz')");
  34. }
  35. }
  36. }
  37. }
  38. }
  39. }
  40. }
  41. }
  42. }
  43.  
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ad1) Wszystkie możliwe kombinacje 8 znakowe.... życia nie starczy na działanie takiego skryptu. A dodać do tego jeszcze operacje na bazie przy każdej jednej kombinacji....

ad2) Sądzisz że kilkugigabjtowy plik będzie lepszy?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
konradkw
post
Post #3





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 31.05.2010

Ostrzeżenie: (0%)
-----


kombinacji jest 1.0077696e+16

plik bylby lepszy jesli skrypt jest odpalany lokalnie - chyba ze sie myle .. ?



pomylka - kombinacji jest 1.679616e+14
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
kombinacji jest 1.0077696e+16
No właśnie. Taki skrypt będzie się wykonywał do śmierci... albo Twojej, albo kompa, albo systemu smile.gif

Cytat
plik bylby lepszy jesli skrypt jest odpalany lokalnie - chyba ze sie myle .. ?
Przy takiej liczbie kombinacji, która w życiu nie jest w stanie dojść do końca, nic nie będzie lepszego smile.gif

Po co ci to w ogóle?

Cytat
pomylka - kombinacji jest 1.679616e+14
Nie, no to zmienia postać rzeczy..... wink.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
!*!
post
Post #5





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Tak z ciekawości... na cholerę Ci to? I czy nie lepiej byłoby poszukać gotowych baz, wykorzystywanych przy atakach BF, lub słownikowych? Lekkie to one nie są, ale przynajmniej nie tracisz wielu godzin na generowanie.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
ale przynajmniej nie tracisz wielu godzin na generowanie.
Śmiem twierdzić, że to będzie zdecydowanie więcej, niż marne wiele godzin...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
konradkw
post
Post #7





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 31.05.2010

Ostrzeżenie: (0%)
-----


zeby obnizyc ilosc wynikow mozna wyeliminowac wszytkie wyniki a wieksza iloscia tych samych znakow obok siebie niz 3 czyli np aaa78900 by przeszlo ale aaaa1234 juz nie .. ? co sadzicie?

Chcialbym stworzyc swoj wlasny slownik.

robilem juz cos podobnego ale to bylo dopasowanie slowa do wszystkich mozliwoscii to zajelo okolo tygodnia. majac ta baze zajmie to okolo 10 h bo wystarczy przeszukac plik lub baze danych
Go to the top of the page
+Quote Post
!*!
post
Post #8





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


nospor - oj tam... lekko zaniżyłem wink.gif Pamiętam kiedyś, chyba nawet na tym forum był ktoś, kto chciał wygenerować wszytko na literę "B", po 6 godzinach dał sobie spokój bo nie doszło nawet do połowy, a baza urosła do 3GB biggrin.gif

Ten post edytował !*! 7.03.2013, 10:55:25


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Słownik czego?

Cytat
nospor - oj tam... lekko zaniżyłem Pamiętam kiedyś, chyba nawet na tym forum był ktoś, kto chciał wygenerować wszytko na literę "B", po 6 godzinach dał sobie spokój bo nie doszło nawet to połowy, a baza urosła do 3GB
No tak.... ludzie w ogóle nie myślą na co się porywają. Myślą ze jak skrypt coś robi, to będzie to trwać 5 minut.... zero wyobraźni. O zasobach pamięciowych już nie wspominając
Powód edycji: [nospor]:


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
konradkw
post
Post #10





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 31.05.2010

Ostrzeżenie: (0%)
-----


nospor - nie musisz buz niemily.
To co chce zrobic jest dokladnie przemyslane. nie musicie znac szczegulow projektu. zapytalem jak to zrobic a nie czy uwazacie ze to dobry pomysl.

Ten post edytował konradkw 7.03.2013, 10:58:56
Go to the top of the page
+Quote Post
nospor
post
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A gdzie ja jestem niemiły? W tym, że mówię, że porywasz się na wiatraki? A to przepraszam bardzo. Zmieniam więc ton:

stary, chłopie, to bardzo dobry pomysł. Pomysł z plikiem jest wręcz genialny. Jak już to ci się wygeneruje, to napisz do mnie. Jak tylko jeszcze będę żył, to z chęcią przejrzę ten plik, który wyślesz mi na maila smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
konradkw
post
Post #12





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 31.05.2010

Ostrzeżenie: (0%)
-----


obraza majestatu?
sarkazm nie jest Twoja mocna strona.

poprosilem o pomoc a nie o takie komentarze. co to za roznica kiedy sie skonczy generowac? co to za roznica czy sie wogole skonczy? wazne ze bedzie skrypt napisany poprawnie - czyz nie tak? tylko i wylacznie taki mialem cel piszac o tym. Jesli nie masz nic wiecej do powiedzenia w kwestii usprawnienia skryptu to podziekuje CI juz za udzial w rozmowie.
Go to the top of the page
+Quote Post
nospor
post
Post #13





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ależ naprawdę staram się być miły smile.gif

Niestety nie ogarniam tematu i nie jestem w stanie ci pomóc. Ale naprawdę jestem żywo zainteresowany wynikiem Twoich prac i jak tylko skończysz to chętnie poznam ich wynik. Napisz do mnie koniecznie, bo bardzo mnie to ciekawi - i tu naprawdę nie ma ani krzty sarkazmu z mojej strony smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
konradkw
post
Post #14





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 31.05.2010

Ostrzeżenie: (0%)
-----


niema problemu. jak tylko ktos pomoze mi z tym skryptem i go uruchomie to chetnie podziele sie wynikami lub obserwacjami jesli sie nie uda.

Przepraszam za powodowanie zamieszania.

Pracuje nad tym juz dlugo i nie moge dojsc do najprostrzego skryptu - to jest juz 12 wersja...

probowalem z dodawnaiem losowych znakow do bazy ale sprawdzanie czy taki juz jest zajmowalo wieki, chcialbum wiec to jakos inaczej ogarnac. mysle ze to co mam teraz ma szanse ale generuje tylko 3 ostatnie znaki i tych kombinacji jest 199993 teraz tylko pozostaje wygenerowanie reszty znakow i nawet jesli skrypt padnie przed koncem generowania co jest bardzo prawdopodobne to i tak za 2 razem tych samych kombinacji juz nie doda.
Go to the top of the page
+Quote Post
!*!
post
Post #15





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


konradkw - kilka informacji znajdziesz pod "algorytm postępowania" np. takie coś http://forum.ks-ekspert.pl/topic/93349-php...nie-wszystkich/


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
sabat24
post
Post #16





Grupa: Zarejestrowani
Postów: 175
Pomógł: 26
Dołączył: 13.09.2007
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Cytat(!*! @ 7.03.2013, 10:50:51 ) *
Tak z ciekawości... na cholerę Ci to? I czy nie lepiej byłoby poszukać gotowych baz, wykorzystywanych przy atakach BF, lub słownikowych? Lekkie to one nie są, ale przynajmniej nie tracisz wielu godzin na generowanie.

Ależ jesteście przyziemni i małostkowi. Wciąż czeka na praktycznie udowodnienie twierdzenie o nieskończonej liczbie małp. W końcu ktoś się podjął tego i już przy pierwszych próbach, obalacie jego zapał. Emil Borel jest także żywo zainteresowany wynikami.
Go to the top of the page
+Quote Post
nospor
post
Post #17





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Jak ten skrypt może generować ci tylko 3 ostatni znaki, skoro masz:
$wyraz = $znaki[$i].$znaki[$g].$znaki[$h].$znaki[$i2].$znaki[$g2].$znaki[$h2].$znaki[$i3].$znaki[$g3];
To nie ma prawa generować 3 ostatnich znaków, skoro widać że łączysz więcej nić 3 znaki. Co masz na myśli pisząc 3 ostatnie znaki?

Cytat
i nawet jesli skrypt padnie przed koncem generowania co jest bardzo prawdopodobne to i tak za 2 razem tych samych kombinacji juz nie doda.
Ale do nowych kombinacji też nie dojdzie, bo znowu od początku będzie musiał się przebijać przez wszystkie te, które już wygenerował.

Musisz zapamiętywać stan na jakim zakończyłeś, i startować ponownie od tego stanu. Inaczej robota nie ma najmniejszego sensu


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
konradkw
post
Post #18





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 31.05.2010

Ostrzeżenie: (0%)
-----


Wlasnie tez nie rozumiem dlaczego ale otrzymalem tylko wyniki typu AAAAABPa i bylo ich 199993 a skrypt dalej nie generuje to zalozylem ze mam blad i nie generuje reszty znakow - no chyba ze to ograniczenie bazy danych? czy to mozliwe zt jest tak niskie?

sabat24 - nie rozumiem Twojej wypowiedzi ale zakladam ze to jakis zart.

Ilosc kombinacjji jest graniczona poniewaz mam okreslony zbior znakow oraz sa to tylko i wylacznie ciagi 8-o znakowe wiec cala reszta odpada.
Go to the top of the page
+Quote Post
nospor
post
Post #19





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Kolejny błąd
while ($raw = mysql_fetch_array($wynik, MYSQL_ASSOC))

{

$jest = 'tak';

}
Musisz czyscic $jest, inaczej po pierwszym znalezieniu, zawsze $jest będzie ustawione na TAK smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
konradkw
post
Post #20





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 31.05.2010

Ostrzeżenie: (0%)
-----


Cytat(nospor @ 7.03.2013, 12:19:44 ) *
Ale do nowych kombinacji też nie dojdzie, bo znowu od początku będzie musiał się przebijać przez wszystkie te, które już wygenerował.

Musisz zapamiętywać stan na jakim zakończyłeś, i startować ponownie od tego stanu. Inaczej robota nie ma najmniejszego sensu


no wlasnie dlatego prosze o pomoc w ulepszeniu skryptu smile.gif

Cytat(nospor @ 7.03.2013, 12:21:09 ) *
Kolejny błąd
while ($raw = mysql_fetch_array($wynik, MYSQL_ASSOC))

{

$jest = 'tak';

}
Musisz czyscic $jest, inaczej po pierwszym znalezieniu, zawsze $jest będzie ustawione na TAK smile.gif


masz racje - jesli dobrze rozumiem to jest dlatego ze $kjest to zmienna globalna prawda?
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 10:03