• 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的很难分辨的可以写到去除词文本框中)

  • 相关阅读:
    威尔逊定理  知识点
    费马小定理及推论 知识点
    勾股定理和勾股数
    hdu6441 Find Integer (费马大定理)
    费马大定理
    莫队算法 [国家集训队]小Z的袜子
    R49 A-D D图有向有环图
    #505 1&2 A-C 后面未完成
    stack 的一些用法
    bzoj 2844 albus就是要第一个出场 异或和出现次数 线性基
  • 原文地址:https://www.cnblogs.com/jruing/p/13933672.html
Copyright © 2020-2023  润新知