分享 SEO、SEM、ASO 等网络营销推广知识,交流网络推广技术心得,偶尔聊聊 Python,C++ 等编程技术。

用 Python 编写一个随机密码生成器

Python Ginson 31℃

一个合格的、安全的密码应该是小写字母、大写字母、数字及符号混合的,并且长度适当。网上有很多用于生成密码的工具如 LastPass 密码生成器1Password 密码生成器,下面就用 Python 来自己编写一个密码生成工具。

代码如下

import random
import sys

# TODO 弱密码检测
# TODO 密码所用字符自定义


def pwd_gen(length=8):
    az = list('abcdefghijklmnopqrstuvwxyz')
    cap_az = [x.upper() for x in az]
    num = list('1234567890')
    sign = list('!@#$%^&*')
    pass_items = [az, cap_az, num, sign]
    password = ''
    loop_times = length
    while loop_times:
        item_type = random.randint(1, 4)
        password += random.choice(pass_items[item_type-1])
        loop_times -= 1
    return password


if __name__ == "__main__":
    try:
        max_length = sys.argv[1]
    except IndexError:
        print(pwd_gen())
    else:
        print(pwd_gen(max_length))

以上代码可以实现自动生成指定位数的密码,所用字符包含大小写字母、数字及符号,符合强密码的要求。

当然这个小程序也有需要完善的地方,比如需增加弱密码检测,需要可以自由选择密码选用哪几种字符,毕竟还有很多网站或服务的密码是不支持特殊符号的。

转载请注明:云深不知处 » 用 Python 编写一个随机密码生成器

喜欢 (1)