Notepad++Good Luck To You!

Python生成遍历暴力破解密码
浏览: 1508    评论: 0

是暴力破解,是把所有的密码进行的遍历,也就是从1到。。。。无穷的列举出来importitertoolsasits##这个库,python自带的importrarfile#这个是操作rar压缩包的,如果你需要破解别的密码的话,比如pdf,那么请你安装下...


是暴力破解,是把所有的密码进行的遍历,也就是从1到。。。。无穷的列举出来

import itertools as its     ##这个库,python自带的

import rarfile   #这个是操作rar压缩包的,如果你需要破解别的密码的话,比如pdf,那么请你安装下pdf的第三方库



### 这个根据需要来,这边测试的是破解rar压缩包

path1 = "E:\\python2\\rar\\1.rar"  # 需要解压的文件路径及地址

path2 = "E:\\python2\\rar"  # 需要解压到的文件夹地址




##下面的是你的密码可能用的字符#

words = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'( )*+,-./:;<=>?@[]^_`{|}~"    ##密码里面含有大小写字母,数字以及特殊符号



re=4        ##这个是与下面的repeat相对应的,代表你需要生成几位的数组。这里是4,代表生成4位的数组。

while 2>1:

    r = its.product(words,repeat=re)

    for i in r:

        # print(type(i))

        a ="".join(i)        ##通过.join将数组里面的元素转换成字符串

        print("当前测试密码:",a)


        ###尝试测试密码,如果错误continue,进入下一次循环

        try:

            rf = rarfile.RarFile(path1)  # pwd为解压密码

            rf.extractall(path=path2, pwd=a)

            print('密码破解成功:',a)

            exit(0)

        except Exception as e:

            print(e)

            continue

    else:

        re+=1       ###如果将所有的4位字符组合尝试完成后,还是没有破解到密码,那么会将4再加上1,进行5位数的破解(这里没有具体写出,为了代码的整洁,没有写出如何循环到5位数密码)


全文详见:http://xpxw.com/?id=164

TOP


«    2024年10月    »
123456
78910111213
14151617181920
21222324252627
28293031
TOP 搜索
TOP 控制面板
您好,欢迎到访网站!
  查看权限
TOP 最新留言
    TOP 作者列表
    TOP 站点信息
    • 文章总数:163
    • 页面总数:0
    • 分类总数:6
    • 标签总数:20
    • 评论总数:0
    • 浏览总数:361552