我忘记了用于加密文件的密码,但我知道用作密码的单词的模式。我尝试暴力破解该文件,但解密需要数千年的时间,因此我发现最简单的方法是使用与我用于加密文件的文本模式相匹配的单词密码词典。
您是否知道是否有办法生成按照定义模式的密码词典?
编辑:例如,如果我在正则表达式中使用与以下模式匹配的密码:在正则表达式中,它会像(A|a)lice(\d)?@(B|b)ob(\d)?
,有没有办法生成由与该正则表达式模式匹配的所有单词组成的字典?
答案1
答案2
(A|a)lice(\d)?@(B|b)ob(\d)?
一个简单的 POSIX shell 脚本就可以生成匹配的字符串。这个解决方案可能不是最优的,扩展性也不是很好;但它简单的并且易于定制。
#!/bin/sh
for x1 in A a
do
for x2 in '' 0 1 2 3 4 5 6 7 8 9
do
for x3 in B b
do
for x4 in '' 0 1 2 3 4 5 6 7 8 9
do
printf '%slice%s@%sob%s\n' "$x1" "$x2" "$x3" "$x4"
done
done
done
done