this makes no sense:
Code:
-1 ?u?l -2 ?u?l -3 ?u?l -4 ?u?l
they all define the same thing. so do it only once
Code:
hashcat -m 22700 -a 3 -w 3 -1 ?u?l -i --increment-min 5 hashes.txt ?1?1?1?1?1?a?a?a
the calculation goes like this for mask length exactly 8:
Code:
(26 + 26) * (26 + 26) * (26 + 26) * (26 + 26) * (26 + 26) * 95 * 95 * 95 =
52 * 52 * 52 * 52 * 52 * 95 * 95 * 95 =
52 ^ 5 * 95 ^ 3 =
325,977,431,936,000
you can see the remaining time, the ending time, the hash speed and the total number of combinations also directly when launching hashcat.
if you want to make the calculation for the different lengths, you just do the same with these masks (the total is the sum of each and every mask length):
Code:
?1?1?1?1?1 => 380,204,032
?1?1?1?1?1?a => 36,119,383,040
?1?1?1?1?1?a?a => 3,431,341,388,800
?1?1?1?1?1?a?a?a => 325,977,431,936,000
the total is therefore:
Code:
380,204,032 + 36,119,383,040 + 3,431,341,388,800 + 325,977,431,936,000 =
329,445,272,911,872
so quite a huge number of password candidates that you want to try.
I would again recommend using dictionary attacks with rules instead of brute-force/masks if the passwords are chosen by a human (not completely random)