• Python实现密码生成器


    Python实现密码生成器

    环境准备

    python3.6
    pip install pyinstaller
    pip install gooey

    代码部分

    # encoding:utf8
    import random
    import string
    from gooey import GooeyParser,Gooey
    @Gooey(encoding='utf8',program_name='强密码生成器',program_description='用于生成包含大小写字母、数字、特殊符号的强密码',optional_cols=1)
    def stronge_password():
        parse = GooeyParser(description='用于生成包含大小写字母、数字、特殊符号的强密码')
        parse.add_argument('数量',widget='TextField')
        parse.add_argument('长度',widget='TextField')
        parse.add_argument('数字',widget='Dropdown',choices={"是":1,"否":0},default='是')
        parse.add_argument('大写字母',widget='Dropdown',choices={"是":1,"否":0},default='否')
        parse.add_argument('小写字母',widget='Dropdown',choices={"是":1,"否":0},default='否')
        parse.add_argument('特殊符号',widget='Dropdown',choices={"是":1,"否":0},default='否')
        parse.add_argument('去除词',widget='TextField',default='None')
        args = parse.parse_args()
        if args.数字 == "是":
            digits = list(string.digits.strip())
        else:
            digits = []
        if args.大写字母:
            upper = list(string.ascii_uppercase)
        else:
            upper = []
        if args.小写字母:
            lower = list(string.ascii_lowercase)
        else:
            lower = []
        if args.特殊符号:
            symbol = list("~!@#$%^&*()_+{}[]/?")
        else:
            symbol = []
        if args.去除词 != 'None':
            stop_word = list(args.去除词.strip())
        else:
            stop_word = []
        letter_list = digits + upper + lower + symbol
        for item in stop_word:
            if item in letter_list:
                letter_list.remove(item)
        for i in range(int(args.数量)):
            result = ''.join([random.choice(letter_list) for i in range(int(args.长度))])
            print(result)
    
    
    if __name__ == '__main__':
        stronge_password()
    

    使用方法

    下载地址密码生成器
    输入密码长度和需要的数量,默认生成仅数字的密码,去除词(类似于O0的很难分辨的可以写到去除词文本框中)

  • 相关阅读:
    hdu1879 继续畅通工程
    hdu1875 畅通工程再续 最小生成树并查集解决---kruskal
    hdu1863 畅通工程2 还是用并查集思想解决最小生成树问题
    hud2544dijkstra+堆优化
    PHP holiday1
    记忆化搜索hdu1078 dfs
    hdu 1548 楼梯 bfs或最短路 dijkstra
    隐藏原生html5 video controls
    工具网站gallery
    判断节点包含
  • 原文地址:https://www.cnblogs.com/jruing/p/13933672.html
Copyright © 2020-2023  润新知