zoukankan      html  css  js  c++  java
  • 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的很难分辨的可以写到去除词文本框中)

  • 相关阅读:
    Tensorflow项目中--FLAGS=tf.flags.FLAGS
    霍夫变换--直线,圆的识别
    利用手写数字识别项目详细描述BP深度神经网络的权重学习
    安装Tensorflow
    安装Anaconda
    关于hibernate查询映射时无法反序列化问题
    postgresql安装之后修改默认用户密码
    中文乱码之springboot框架中两工程之间参数传递乱码
    springboot注解小记1
    springboot开发笔记
  • 原文地址:https://www.cnblogs.com/jruing/p/13933672.html
Copyright © 2011-2022 走看看