在上节课我们学习了制作密码破解软件,破解的内容是数字密码。这节课我们将要学习制作破解超级密码的软件。
所谓超级密码就是由大小写字母、数字、特殊符号组成的密码。
首先看一下程序的结构。总体分成三部分,第一部分是导入tkinter建立窗口;第二部分是自定义一个破解按钮的激发函数;第三部分是建立框架,在框架中定义两个Label(标签)和两个Entry(文本框)。
第一部分:导入tkinter,建立窗口,设置窗口标题和大小。
第二部分:按钮的激发函数jiemi()。
在编程过程中一定要注意格式!!!
d1=datetime.datetime.now()通过datetime函数得到当前的时间赋值给d1。
p=varin.get()通过Entry(文本框)获得超级密码用.get()函数得到值后赋值给变量p。
s=[0]*4 新建一个列表,列表里的成员为[0,0,0,0]。
for a in range(33,127):
s[0]=chr(a)
变量a遍历33到126,给s[0]赋值chr(a),chr(33)的值是"!",s[0]是在列表的第一位置上赋值。
chr(33)到chr(126)是大小写字母、数字和特殊符号。
if ''.join(s)==p: 中的.join()函数将序列中的元素以指定的字符连接生成一个新的字符串。可以参考下图。
对比字符串破解超级密码,大家可以看到,总体结构是一样的,都是分成三个部分,
第二部分中,使用的通过穷举字符串来破解超级密码。
测试解决同一个超级密码所用的时间,大家可以看出,使用列表的时间少。
作业:完成其中一种破解超级密码的程序。

4000520066 欢迎批评指正
Copyright © 1996-2019 SINA Corporation
All Rights Reserved 新浪公司 版权所有
All Rights Reserved 新浪公司 版权所有