基于python2.7实现图形密码生成器的实例代码

yipeiwu_com6年前Python基础

具体代码如下所示:

#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))

总结

以上所述是小编给大家介绍的python2.7实现图形密码生成器的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

pandas创建新Dataframe并添加多行的实例

处理数据的时候,偶然遇到要把一个Dataframe中的某些行添加至一个空白的Dataframe中的问题。 最先想到的方法是创建Dataframe,从原有的Dataframe中逐行筛选出指...

Python实现语音识别和语音合成功能

Python实现语音识别和语音合成功能

声音的本质是震动,震动的本质是位移关于时间的函数,波形文件(.wav)中记录了不同采样时刻的位移。 通过傅里叶变换,可以将时间域的声音函数分解为一系列不同频率的正弦函数的叠加,通过频率谱...

Python实现全排列的打印

本文为大家分享了Python实现全排列的打印的代码,供大家参考,具体如下 问题:输入一个数字:3,打印它的全排列组合:123 132 213 231 312 321,并进行统计个数。 下...

Python 字符串与数字输出方法

如下所示: x = 3 print(x+"nihao") 这样会报错 x = 3 print(x,"nihao") 这样不会报错,额,今天发现的一个小知识,记录一下 以上这篇...

Pandas 解决dataframe的一列进行向下顺移问题

最近做比赛,有时候需要造出新的特征,而这次遇到的问题是将一列数据往下顺移一位。同时将开头缺失的那一个数据用其他方式填充。 df['feature'].shift(1)向下顺移一位,这时第...