如何通过正则表达式生成密码字典?

如何通过正则表达式生成密码字典?

我忘记了用于加密文件的密码,但我知道用作密码的单词的模式。我尝试暴力破解该文件,但解密需要数千年的时间,因此我发现最简单的方法是使用与我用于加密文件的文本模式相匹配的单词密码词典。

您是否知道是否有办法生成按照定义模式的密码词典?

编辑:例如,如果我在正则表达式中使用与以下模式匹配的密码:在正则表达式中,它会像(A|a)lice(\d)?@(B|b)ob(\d)?,有没有办法生成由与该正则表达式模式匹配的所有单词组成的字典?

答案1

如果你知道如何使用 Python,那么有一个名为艾克雷克斯然后你就可以在安装模块后像这样使用它来生成一个dict.txt文件:

exrex (A|a)lice(\d)?@(B|b)ob(\d)? -o dict.txt

警告 :请谨慎选择要使用的模式。根据模式范围匹配,可能会生成较大的文件大小。

查看有关 Exrex 的更多信息这里

答案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

相关内容