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


Posted in Python onNovember 05, 2019

具体代码如下所示:

#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 相关文章推荐
python之模拟鼠标键盘动作具体实现
Dec 30 Python
Python基于Tkinter的HelloWorld入门实例
Jun 17 Python
在Python的Django框架中更新数据库数据的方法
Jul 17 Python
在Django的form中使用CSS进行设计的方法
Jul 18 Python
python函数的5种参数详解
Feb 24 Python
利用Python如何制作好玩的GIF动图详解
Jul 11 Python
python写程序统计词频的方法
Jul 29 Python
Python面向对象之Web静态服务器
Sep 03 Python
Python3+selenium实现cookie免密登录的示例代码
Mar 18 Python
PyQT5 实现快捷键复制表格数据的方法示例
Jun 19 Python
python实现的web监控系统
Apr 27 Python
使用scrapy实现增量式爬取方式
Jun 21 Python
python中删除某个元素的方法解析
Nov 05 #Python
Django 框架模型操作入门教程
Nov 05 #Python
Python3.7 读取 mp3 音频文件生成波形图效果
Nov 05 #Python
python被修饰的函数消失问题解决(基于wraps函数)
Nov 04 #Python
Python imread、newaxis用法详解
Nov 04 #Python
Python使用微信接入图灵机器人过程解析
Nov 04 #Python
python selenium循环登陆网站的实现
Nov 04 #Python
You might like
php的ajax框架xajax入门与试用介绍
2010/12/19 PHP
基于PHP Web开发MVC框架的Smarty使用说明
2013/04/19 PHP
codeigniter中view通过循环显示数组数据的方法
2015/03/20 PHP
jQuery+php简单实现全选删除的方法
2016/11/28 PHP
PHP钩子与简单分发方式实例分析
2017/09/04 PHP
禁止直接访问php文件代码分享
2020/05/05 PHP
TopList标签和JavaScript结合两例
2007/08/12 Javascript
javascript 日期常用的方法
2009/11/11 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
javascript创建动态表单的方法
2015/07/25 Javascript
针对JavaScript中this指向的简单理解
2016/08/26 Javascript
Javascript 使用ajax与C#获取文件大小实例详解
2017/01/13 Javascript
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
分分钟学会vue中vuex的应用(入门教程)
2017/09/14 Javascript
iframe与主框架跨域相互访问实现方法
2017/09/14 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
微信小程序url传参写变量的方法
2018/08/09 Javascript
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
2018/12/05 Javascript
使用axios请求接口,几种content-type的区别详解
2019/10/29 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
JavaScript构造函数原理及实现流程解析
2020/11/19 Javascript
vue使用lodop打印控件实现浏览器兼容打印的方法
2021/02/07 Vue.js
Python 解析XML文件
2009/04/15 Python
使用python实现递归版汉诺塔示例(汉诺塔递归算法)
2014/04/08 Python
Python使用sorted排序的方法小结
2017/07/28 Python
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
python Flask 装饰器顺序问题解决
2018/08/08 Python
python处理“
2019/06/10 Python
python 6.7 编写printTable()函数表格打印(完整代码)
2020/03/25 Python
500行python代码实现飞机大战
2020/04/24 Python
详解python对象之间的交互
2020/09/29 Python
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?
2013/05/09 面试题
关于运动会广播稿50字
2014/10/18 职场文书
小学生交通安全寄语
2015/02/27 职场文书
装饰技术负责人岗位职责
2015/04/13 职场文书
贫民窟的百万富翁观后感
2015/06/09 职场文书