网站密码生成程序:python+pyqt5实例

news/2024/5/20 21:07:34/文章来源:https://blog.csdn.net/wtt234/article/details/125911445

实现功能:

"""
1.给不同网站设置密码
2.密码组成方式由 大写,小写,数字,标点符号类别组成
3.生成txt文件保存
"""

 1.gui设计:

 

 前端生成py代码:

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'passwd.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(400, 259)self.widget = QtWidgets.QWidget(Form)self.widget.setGeometry(QtCore.QRect(10, 30, 371, 201))self.widget.setObjectName("widget")self.verticalLayout = QtWidgets.QVBoxLayout(self.widget)self.verticalLayout.setContentsMargins(0, 0, 0, 0)self.verticalLayout.setObjectName("verticalLayout")self.horizontalLayout = QtWidgets.QHBoxLayout()self.horizontalLayout.setObjectName("horizontalLayout")self.label = QtWidgets.QLabel(self.widget)self.label.setObjectName("label")self.horizontalLayout.addWidget(self.label)self.lineEdit_site = QtWidgets.QLineEdit(self.widget)self.lineEdit_site.setObjectName("lineEdit_site")self.horizontalLayout.addWidget(self.lineEdit_site)self.verticalLayout.addLayout(self.horizontalLayout)self.horizontalLayout_2 = QtWidgets.QHBoxLayout()self.horizontalLayout_2.setObjectName("horizontalLayout_2")self.checkBox_upper = QtWidgets.QCheckBox(self.widget)self.checkBox_upper.setObjectName("checkBox_upper")self.horizontalLayout_2.addWidget(self.checkBox_upper)self.checkBox_lower = QtWidgets.QCheckBox(self.widget)self.checkBox_lower.setObjectName("checkBox_lower")self.horizontalLayout_2.addWidget(self.checkBox_lower)self.checkBox_number = QtWidgets.QCheckBox(self.widget)self.checkBox_number.setObjectName("checkBox_number")self.horizontalLayout_2.addWidget(self.checkBox_number)self.checkBox_4 = QtWidgets.QCheckBox(self.widget)self.checkBox_4.setObjectName("checkBox_4")self.horizontalLayout_2.addWidget(self.checkBox_4)self.verticalLayout.addLayout(self.horizontalLayout_2)self.pushButton = QtWidgets.QPushButton(self.widget)self.pushButton.setObjectName("pushButton")self.verticalLayout.addWidget(self.pushButton)self.lineEdit_result = QtWidgets.QLineEdit(self.widget)self.lineEdit_result.setObjectName("lineEdit_result")self.verticalLayout.addWidget(self.lineEdit_result)self.retranslateUi(Form)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate = QtCore.QCoreApplication.translateForm.setWindowTitle(_translate("Form", "密码程序管理"))self.label.setText(_translate("Form", "网站名称:"))self.checkBox_upper.setText(_translate("Form", "大写字母"))self.checkBox_lower.setText(_translate("Form", "小写字母"))self.checkBox_number.setText(_translate("Form", "数字"))self.checkBox_4.setText(_translate("Form", "标点符号"))self.pushButton.setText(_translate("Form", "生成新的密码"))

 前端界面设计完成


后端代码实现:

2.代码实现:

"""
1.给不同网站设置密码
2.密码组成方式由 大写,小写,数字,标点符号类别组成
3.生成txt文件保存
"""
#导入模块顺序,系统模块,第三方模块,自己写的模块
import random
import string
import sysfrom PyQt5.QtWidgets import QApplication, QDialog, QMessageBox#导入生成的gui界面的py代码
from passwd import Ui_Formclass MyPassword(Ui_Form,QDialog):def __init__(self):super().__init__()self.setupUi(self)#单击按钮连接一个生成I密码的函数new_passwordself.pushButton.clicked.connect(self.new_password)def new_password(self):#获取网站编辑框的内容site=self.lineEdit_site.text()#判断网站编辑框没有数据,提示对话框显示内容if not site:QMessageBox.warning(self,"信息提示","请输入site")returnwordslist=[]if self.checkBox_upper.isChecked():wordslist.append(string.ascii_uppercase*2)if self.checkBox_lower.isChecked():wordslist.append(string.ascii_lowercase*2)if self.checkBox_number.isChecked():wordslist.append(string.digits*2)#如果字符选择框被选中if self.checkBox_4.isChecked():wordslist.append(string.punctuation*2)#判断words列表是否为空,如果为空说明什么都是没有√选#就是默认使用所有类比生成密码if not wordslist:wordstr=(string.digits+string.ascii_uppercase+string.ascii_lowercase+string.punctuation)else:wordstr="".join(wordslist)#从字符串中选择出20个单个字符的列表【“1”,“2”,“a”。。。】wordstemplist=random.sample(list(wordstr),20)#合并成一个字符串,个数是20个字符的字符串password="".join(wordstemplist)#把生成的密码写入到本地的密码本中。with open("./密码本.txt",mode="a") as fw:fw.write(f"{site}\t{password}\n")self.lineEdit_result.setText(password)QMessageBox.information(self,"信息提示","密码生成成功")if __name__ == '__main__':app=QApplication(sys.argv)mywin=MyPassword()mywin.show()sys.exit(app.exec_())


界面展示:


保存到本地的密码本样式

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_714161.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个网站哪些页面需要用到redis_网页和网站有什么区别?做一个网站难不难?都需要哪些技能?...

概念梳理:网站和网页是包含关系,一个网站包含多个页面(网页)。 一般我们上网浏览的都是某个网站中的某个页面。具体逻辑如下图示:网页和网站的概念聊完了网站和网页的区别之后,我们一起来看看做一个网站到底难不难。刨除辅助功能&…

php网站怎么优化,如何优化你的Z-BlogPHP网站

相信现在有好多网站都在使用Z-BlogPHP的程序,就是因为它越来越安全,功能多之下还显得轻量简洁,本站也是zblog的一个用户了。现在发出教程来教大家如何优化zblog,又讲优化SEO的,也有优化网站界面的,是本站原…

想要导航提示页_如何优化网站导航呢?

网站导航可以给用户提供全面的引导,让用户快速的找到想要进入的栏目中,从而找到相关的内容。同时,导航也给蜘蛛爬虫提供了进入网站各个页面的入口,可以让蜘蛛爬虫更好的抓取页面内容。 一、为什么要优化网站导航呢? 1、…

深夜,我用python爬取了整个斗图网站,不服来斗

QQ、微信斗图总是斗不过,索性直接来爬斗图网,我有整个网站的图,不服来斗。废话不多说,选取的网站为斗图啦,我们先简单来看一下网站的结构网页信息从上面这张图我们可以看出,一页有多套图,这个时…

php默认登录文件,PHP 网站修改默认访问文件的nginx配置

搭建好lnmp后,有时候并不需要直接访问index.php,配置其他的默认访问文件比如index.html这时候需要配置一下nginx才能访问到你想要设置的文件直接上代码,如下是我的配置的一份简单的nginx到php-fpm的站点,该站点默认访问目录/ecmob…

网站上传服务器视频不能播放器,FLV格式文件上传服务器后不能播放的问题

FLV格式文件上传服务器后不能播放因为国内大多都是Win2003的主机.默认是没有指定输出FLV这种格式的虽然FTP里面可以看见,但无法通过http访问,也就无法播放了.[原因:WIN2003加强了IIS6的MIME验证,一切未注册扩展文件格式统统显示404错误。手动在IIS中HTTP…

刚刚,我顺藤摸瓜端了知名色情网站的老窝,并劝他从良

来自公众号:Hack感谢凌云给我的启发大家好,我是九歌前几天无意发现了一个色情网站,本着除暴安良的心态,直接开始对这个网站开始了调查这个网站的域名是.cn结尾的 【.cn是国内域名,无法隐藏注册人的信息】我去站长之家里面对这个网…

深夜,我用python爬取了整个斗图网站,不服来斗

QQ、微信斗图总是斗不过,索性直接来爬斗图网,我有整个网站的图,不服来斗。 废话不多说,选取的网站为斗图啦,我们先简单来看一下网站的结构 网页信息 从上面这张图我们可以看出,一页有多套图,…

宝塔建站 mysql在哪_宝塔面板安装LAMP,创建网站,创建数据库

宝塔面板安装LAMP安装宝塔面板宝塔面板当前有5.9版本,兼容centos6系列,还有6.8系列.我这里因为内存的缘故安装5.9版本.安装其实只要复制一条命令即可.使用xshell登录vps之后复制以下命令到xshell中回车执行:yum install -y wget && wget -O install.sh http://download…

试用期没过,因在公司上了 1024 网站...

最近浏览到一个知乎问题:某运营同学在试用期期间因为在工作期间上了某 1024 网站,导致试用期不过。 前两天还看到不少推文,大意是:看小电影前一定要注意网址是不是 HTTPS 的,因为 HTTPS 是加密的,别人就不知…

因提供18禁动漫,毒害未成年人,国内最大动漫网站被重罚

作为二次元 动漫迷们必备的在线观看漫画工具,那么“动漫之家”肯定是每个人必入坑之一,毕竟它的上线时间也是于2005年的时候。 最早一批的动漫网站,很早二次元喜欢的人,就在里面进行打卡分享番在这网站里的,也有业余大…

社区资讯 | Apache Flink 中文社区网站 Ververica 正式发布

众所周知,Apache Flink 最初是由德国柏林工业大学的几个博士生和研究生从学校开始做起来的项目,2014年,其核心成员开发了 Flink,同时将 Flink 计算的主流方向定位为实时计算并在同年将 Flink 捐赠给 Apache ,后来快速孵…

SNS网站中怎样获取MSN联系人信息

几乎所有的SNS网站都有[邀请站外好友]加入本站这个功能,当然,我们正在开发的这个名为XXX的网站也不例外,今天学习了一下,把成果向大家做一简单汇报。 这个功能的关键点在于取得用户的已有联系人列表,并发送邀请函&…

Flink 中文社区网站 “Flink Learning” 全新上线!文末附最新 Flink 大厂招聘信息~...

Apache Flink 是业界公认的性能优异的大数据计算引擎之一。近年来,随着越来越多学习和使用 Flink 的小伙伴加入,Flink 社区不断壮大。然而,尽管我们有完善的 Flink 教学体系以及各种实践分享,还有丰富的线上线下活动,仍…

团购网站安全性普遍堪忧

十一黄金周让团购市场再火了一把,“砸金蛋”、“领红包”等团购优惠活动更是如火如荼。然而据360安全中心今日发布的《中国团购网站安全检测报告》显示,目前国内团购网站安全性参差不齐,约70.6%的网站存在高危漏洞,主要为中小型团…

备案号链接工信部_网站主页底部网站备案号的悬挂和链接的工作通知

关注并标星飞虎商联微营销打卡阅读更快更深刻洞察微营销━━━━━━根据相关法律法规要求,阿里云对已备案成功数据进行全面核查。备案信息名称备案信息不合格内容整改要求网站内容网站下方未显示正确备案编号或编号未指向工信部网站下方未显示正确备案编号或编号未…

wordpress iis php,Windows IIS 上安装部署 WordPress 网站快速简要教程

Windows 上可以完美运行 PHP WordPress 站点,Windows 上也可以安装运行 MySQL,PHP、MySQL 本来就是跨平台的。微软也对 IIS 运行 PHP 程序有很好的支持,可以看这个链接:https://php.iis.net。任何支持 PHP 和MySQL 的服务器都可以…

always on sql 收缩日志_啥?我写的一条SQL让公司网站瘫痪了...

一条慢查询会造成什么后果?之前我一直觉得不就是返回数据会慢一些么,用户体验变差?其实远远不止,我经历过几次线上事故,有一次就是由一条 SQL 慢查询导致的。那次是一条 SQL 查询耗时达到 2-3 秒「没有命中索引&#x…

ASP.Net Mvc 发布网站 (样式+图片问题)

问题: 网站发布成功,但是样式与图片都不显示,错误提示为:无法找到资源。 解决办法: 右击发布网站——"编辑权限" 选择——“安全选项卡” 给以下两项赋访问权限 问题解决了。转载于:https://www.cnblogs.com…

使用tesseract-ocr破解网站验证码

首先我得承认,关注tesseract-ocr, 是冲着下面这篇文章的噱头去的,26行groovy代码破解网站验证码 http://www.kellyrob99.com/blog/2010/03/14/breaking-weak-captcha-in-slightly-more-than-26-lines-of-groovy-code/ 当然,看了之…