python2.7实现图形密码生成器?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
具体代码如下所示:
#coding:utf8 import random,wx def password(event): a = [chr(i) for i in range(97,123)] b = [chr(i) for i in range(65,91)] c = ['0','1','2','3','4','5','6','7','8','9'] d = ['!','@','#','$','%','^','&','*','(',')','=','_','+','/','?'] set1 = a + b + c + d set2 = a + b + c num = int(length.GetValue()) if switch.GetValue() == 0: passwd = ''.join(random.sample(set1,num)) contents.SetValue(passwd) else: passwd = ''.join(random.sample(set2,num)) contents.SetValue(passwd) app = wx.App() win = wx.Frame(None,-1,title=u'密码生成器',size=(480,200)) bkg = wx.Panel(win,-1) # tt = wx.StaticText(bkg,-1,u'屏蔽输入字符') # delete = wx.TextCtrl(bkg,-1) right = wx.Button(bkg,-1,label=u'确定生成') right.Bind(wx.EVT_BUTTON,password) stxt = wx.StaticText(bkg,-1,u'请输入你的密码长度位数!' ) length = wx.TextCtrl(bkg,-1,size=(50,27)) switch = wx.CheckBox(bkg, -1,u'关闭特殊字符',(150, 20)) sobx = wx.BoxSizer() sobx.Add(stxt,proportion=0,flag=wx.ALL,border=5) sobx.Add(length,proportion=1,border=5) sobx.Add(switch,proportion=0,flag=wx.ALL | wx.ALIGN_RIGHT,border=5) sobx.Add(right,proportion=0,flag=wx.EXPAND,border=5) contents = wx.TextCtrl(bkg,-1) cobx = wx.BoxSizer() cobx.Add(contents,proportion=1,flag=wx.EXPAND,border=5) dobx = wx.BoxSizer() # dobx.Add(delete,proportion=1,flag=wx.ALL,border=5) robx = wx.BoxSizer(wx.VERTICAL) robx.Add(cobx,proportion=1,flag=wx.EXPAND | wx.ALL,border=5) robx.Add(sobx,proportion=0,flag=wx.ALL,border=5) # robx.Add(dobx,proportion=0,flag=wx.EXPAND,border=5) bkg.SetSizer(robx) win.Show() app.MainLoop()
ps:下面看下python密码生成器
''' 随机密码生成器 该生成器用于生成6位随机密码,包含A-Z, a-z , 0-9 , - + = @ $ % & ^ ''' import random #定义密码生成函数 def pass_generator(n): lst1 = list(range(65,91)) lst2 = list(range(97,123)) lst3 = list(range(10)) lst4 = ['+','-','=','@','#','$','%','^'] s1 = ''.join(chr(c) for c in lst1) s2 = ''.join(chr(c) for c in lst2) s3 = ''.join(str(i) for i in lst3) s4 = ''.join( c for c in lst4) s = s1 + s2 + s3 + s4 p = '' for _ in range(n): p += random.choice(s) return p print(pass_generator(32))
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。