密码是用户严重身份的一种方式,密码必须长而复杂,在安全方面这一点很重要,现在很多应用都要求密码至少八位,并且包含大小写字母、数字、特殊符号等。密码强度足够,能有效防破解,保证账户的安全。
在这里,我们将使用Python创建一个随机密码生成器。
要在Python中创建密码生成器,我们可以使用for循环,随机选择字母数字字符来生成密码字符串。
我们可以导入Python string模块,该模块提供了一些可用于生成密码的常量。
>>> import string
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.digits
'0123456789'
>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
这些字符串常量基本上囊括了键盘上的所有字符。我们直接拿来生成密码字符串。
import random,string
#密码长度
pwd_length=10
char=string.ascii_letters+string.digits+string.punctuation
pwd=""
for i in range(pwd_length):
pwd=pwd+random.choice(char)
print("密码: {}".format(pwd))
以下是生产的几组密码:
密码: hwC)"n{uq/
密码: Gr.xn5bG:-
密码: ]YP.<a>k*U
我们可以对上面代码进行改进,允许用户设置密码长度,同时生成多组密码供选择,让密码生成器更加灵活。
import random,string
#密码长度
pwd_length=int(input("请设置密码长度:"))
char=string.ascii_letters+string.digits+string.punctuation
#每组生成五个密码
for n in range(5):
pwd=""
for i in range(pwd_length):
pwd=pwd+random.choice(char)
print("密码: {}".format(pwd))
#运行结果:
请设置密码长度:10
密码: <^ET:0hu2V
密码: 4A[2sd{cgO
密码: O=RWiprkvY
密码: )IoIyY#GjV
密码: Q-q@)7{YXm
以上是制作一个密码生成器的基本方法,其实,根据以上思路,我们还可以让密码生成器更加强大,比如,是否包含大写字母、特殊符号,包含几个数字等,感兴趣的朋友可以尝试一下。
感谢您的阅读,请关注我,精彩继续!