I am trying to do something like

 pp64 --pw-min=10 words.txt   |  hashcat -a 0 **--keyspace** -r myRule.txt

but this syntax is incorrect. Is there a way to get the keyspace for this combined attack?

1 Answer 1


Keyspace from a piped source cannot be calculated by hashcat, because hashcat does not know how many words will be received (which should make sense, if you think about how pipes work in Unix).

If your rules are simple, you can approximate your total keyspace by running your hashcat command against a baseline wordlist (say, 10,000 or 100,000 words), and then multiplying that keyspace by the total number of permutations expected to be generated by pp64 (using the number from its own --keyspace parameter. But that is going to be very back-of-the-napkin, because keyspace calculation isn't always linear and doesn't necessarily mean what you might expect.

Instead, since you're probably looking to get a rough estimate of how much time it's going to take to run your attack, set keyspace aside. It isn't as useful as the actual runtime for time estimates.

Instead, do the same baseline test run as above, but instead of using --keyspace, just run it long enough to get a stable time estimate from hashcat's status output.

For example, if 100,000 words with your specified ruleset takes 10 minutes, then multiply that time by the total number of permutations you're expecting from pp64, divided by 100,000.

That should give you a practical runtime estimate.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .