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?