随机生成密码

1、写一个产生一批密码的程序,输入100,就产生100条密码
2、要求密码长度大于6,必须包含大写字母、小写字母、数字和特殊符号
3、每次产生的密码不能重复
4、写到文件里面

import random,string
f = open('password.txt','a+',encoding='utf-8')
f.seek(0)
password_list=[]
i = 0
count = int(input('请输入需要产生随机密码的个数:'))
while i < count:
    p_list = random.sample(string.ascii_uppercase,1)    #密码包含大写字母
    p_list.extend(random.sample(string.ascii_lowercase,1))    #密码包含小写字母
    p_list.extend(random.sample(string.digits,1))   #密码包含数字
    p_list.extend(random.sample(string.punctuation,1))    #密码包含特殊字符
    front_list = random.sample(''.join(p_list),4)   #打乱顺序,随机4位
    src = string.ascii_letters+string.digits+string.punctuation
    last_list =random.sample(src, random.randint(2, 7))  #随机生成2-7位字符
    password =''.join(front_list+last_list)   #6-11位的密码
    if password  not in password_list:
        password_list.append(password)    # 将密码存入数组
        i+=1
print(password_list)
password_str = '\n'.join(password_list)
print(password_str)
f.write(password_str)
f.close()

 

posted on 2019-09-12 11:24  cathyg1234  阅读(607)  评论(0)    收藏  举报

导航