Kombinacje haseł

Permutacje. Kombinacje. Wariacje. Rozmieszczanie kul w urnach. Silnie i symbole Newtona. Przeliczanie zbiorów. Funkcje tworzące. Teoria grafów.
Awatar użytkownika
Borneq
Użytkownik
Użytkownik
Posty: 247
Rejestracja: 23 lip 2010, o 07:50
Płeć: Mężczyzna
Lokalizacja: geo:lat=0 geo:lon=0
Podziękował: 13 razy

Kombinacje haseł

Post autor: Borneq »

Przykładowo
26 małych + 10 cyfr + 11 specjalnych - 47 znaków
len = 5 -> 229 mln
len = 6 -> 10,7 mld
len=7 -> 506 mld
len=8 -> 23 bln

samych małych
len=6 -> 308 mln
len=7 -> 8 mld
len=8 -> 208 mld

Teraz kombinacje:
5 malych , 1 cyfra = 26^5*10*6 = 712 mln
6 malych, 1 cyfra = 26^6*10*7 = 21 mld
7 malych, 1 cyfra = 26^7*10*8 = 642 mld

5 malych , 1 duza = 26^5*26*6 = 712 mln = 1,8 mld
6 malych, 1 duza = 26^6*26*7 = 21 mld = 48 mld
7 malych, 1 duza = 26^7*26*8 = 642 mld = 1.2 bln

Niestety nie mam potężnej karty graficznej a na cpu na 4 wątkach 6.59 mln sha1 /s, więc interesuje mnie tylko do 0.5-1 bln kombinacji.
Jak mam 4 wątki to dwa pierwsze mogę podzielić tak:
zakres pierwszego znaku asła dzielę na 4, pozostałe cale zakresy w każdym wątku

Teraz pytanie:
jak wyliczyć np. same małe + 1 duża + 2 cyfry + 1 specialny (dodatkowe kombinacje - na początku, na końću)
i trudniejsze - jak gnerować takie kombinacje.
Dla pojedynczego sha1 gdybym generował wszystkie zadanej długości , a wyliczał tylko zadane, to przy tej dysproporcji: np. 642 mld a 23 bln dla dlugości 8, dużo więcej czasu było by przy generowaniu i odrzucaniu niż przy liczeniu sha1. więc trzeba by od razu generować, jak?
ODPOWIEDZ