Ask HN: Generate All Permutations of a Passphrase?
I cannot remember the exact typing of my old laptop's passphrase. It is encrypted, after an hour of random typing I got the passphrase once and am now stuck on my Linux Mint 17 or 18 login screen, faced with the same passphrase.
It's something like this:
SimplePhraseOfMine with the possibility of upper/lowercase and s=5 o=0 e=3
I've tried writing all variations by hand, but that is tedious and I've not gotten it. I tried messing around with Crunch wordlist generator, but that doesn't seem to do exactly what I need (keep that phrase intact).
Is there a program to do this?
7 comments
[ 3.8 ms ] story [ 25.6 ms ] threadAlso I'm not sure how you could try them automatically unless you have sshd running on the laptop.
I didn't understand the meaning of "s=5 o=0 e=3".
Are the uppercase possible only at the beginning of each word, or it can be in LaTeXcase?
I want to find all variables of upper/lower case & if certain letters are swapped out for numbers something like 5imPl3PaSs0fMin3
In the example there are 6 special letters (two s's, one o and three e's). And there are 12 normal letters.
The total number of combinations is 2^12 * 3^6 = 2,985,984
It's in the brute force range, so you can get the list if you want using the programs linked in other comments. But password verifications have usually some protection to prevent brute force, like using a slow algorithm and adding some delays between tries.
https://github.com/ryepdx/pyethrecover does something very similar to what you're asking for, in the context of remembering an ethereum wallet password. In your case, the password-spec file would probably contain something like:
``` [ ('S','s','5'), ('I','i'), ('M','m'), ('P','p'), ...etc ] ``` See the comments https://github.com/ryepdx/pyethrecover/blob/master/password_... for details.
The overall code is not complex: it should be straightforward to strip out the word generation from the wallet testing and re-purpose it for your needs.