我从其中一个网站获得了一个程序来制作密码生成器。
import string
from random import *
characters = string.ascii_letters + string.punctuation + string.digits
password = "".join(choice(characters) for x in range(randint(8, 16)))
print password
有人可以解释将存储在“密码”变量中的内容吗?它是一个大小写,标点符号和数字长度为8和16的组合的值吗?
有没有更简单的方法来使用python程序制作密码生成器?
答案 0 :(得分:1)
如果您打印characters
,您将获得一个字符和符号列表。
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~0123456789
下一行将使用此各种各样的字符随机选择。添加或删除字符将允许您自定义组成密码的字符。
您可以通过快速谷歌搜索了解join
,choice
和randint
功能。如果将此代码分解为更多行和变量,则可能更有意义。有很多短手被压成一条线。
import string
import random
characters = string.ascii_letters + string.punctuation + string.digits
password = ""
password_length = random.randint(8, 16)
for x in range(password_length):
char = random.choice(characters)
password = password + char
print password