大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
一、导入包
此处我们需要用到itertools和zipfile两个包
import itertools
import zipfile
我们先来简单认识一下itertools包的简单用法
digital_list=list(itertools.permutations(['0','1','2','3','4','5','6','7','8','9'],3))
d_list=[''.join(x) for x in digital_list]
print(digital_list)
print(d_list)
这里我们创建了一个digital_list列表
itertools.permutations(['0','1','2','3','4','5','6','7','8','9'],3)
上面的代码会从0-9这些数字中选取三个,形成全排列,并返回一个以三个元素为一组的列表,然后我们通过一个列表推导式,将每个元组中的三个元素拼接在一起。
当然,我们也可以使用同样的方法,将我们的字母变成 以三个为一组的元素
alpha_list=list(itertools.permutations(['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'],3))
a_list=[''.join(x) for x in alpha_list]
我们可以用itertools.product将我们的d_list与a_list拼接起来,但是我们拼接后的结果是一个以三个数字和三个字母组成一组的元素的列表,我们同样需要用到上面的方法,将我们的数字元组和字母元组拼接起来。以下的截图为我们的一部分结果(数据太多,截不全)。
mix_digital=list(itertools.product(d_list,a_list))
mix_d=[''.join(x) for x in mix_digital]
print(mix_d)
接下来,我们就需要用到我们的zipfile包。此时我们的同级目录下有一个加密的python.zip文件,我们使用zipfile.ZipFile的方法来读取我们的python.zip文件,此时我们只需要将我们的mix_d中的密码一个个输入测试就可以了。
f.extractall将我们的my_pwd也就是我们之前排列组合出来的密码传入,并指定我们的编码集为utf-8。如果try成功,我们就输出激活成功教程成功,解压完成,如果没成功,就继续激活成功教程
f=zipfile.ZipFile('python.zip')
for my_pwd in mix_d:
try:
f.extractall(pwd=my_pwd.encode(encoding='utf-8'))
print('激活成功教程密码成功,解压完成')
except:
print('激活成功教程密码不正确,请继续激活成功教程')
以下为完整代码:
由于密码的排列组合数据非常巨大,我们的电脑需要跑很长时间,需要耐心等待。
import itertools
import zipfile
digital_list=list(itertools.permutations(['0','1','2','3','4','5','6','7','8','9'],3))
d_list=[''.join(x) for x in digital_list]
alpha_list=list(itertools.permutations(['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'],3))
a_list=[''.join(x) for x in alpha_list]
mix_digital=list(itertools.product(d_list,a_list))
mix_d=[''.join(x) for x in mix_digital]
f=zipfile.ZipFile('python.zip')
for my_pwd in mix_d:
try:
f.extractall(pwd=my_pwd.encode(encoding='utf-8'))
print('激活成功教程密码成功,解压完成')
except:
print('激活成功教程密码不正确,请继续激活成功教程')
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/172181.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...