python暴力破解加密zip文档

由参加的一个安全大赛来的。flag文件在一个加密的zip文件里面,密钥为6-8位的数字。写了个python脚本进行暴力解压缩。

其中暴力破解的密码生成采用itertools库提供的函数来产生。即product函数,product函数为求迭代器的笛卡尔积。

如下:

list1 = [1,2,3]

list2 = [a,b]

for i in product(list1,list2):

   print i

输出为(1,a)

         (1,b)

   (2,a)

         (2,b)

     (3,a)

        (4,b)

则6位的密码产生序列相当于product('1234567890', 6)。即6个'1234567890'序列产生的笛卡尔积。对应的生成密码函数和解压缩zip包的程序如下所示:

运行速度还挺快,如下是运行结果:

原文地址:https://www.cnblogs.com/bhchenli/p/6206346.html