python123测验5随机密码生成,python如何生成随机密码?

8d770c48fec59a6635572e28ef38df10.png

python如何生成随机密码?

python生成随机密码的方法:

一、随机密码生成。编写程序在26个字母大小写和9个数字组成的列表中随机生成10个8位密码。import random

def random_password():

list1 = []

#把字母加入序列中

for i in range(65,90):

list1.append(chr(i))

for i in range(97,122):

list1.append(chr(i))

list2 = [1,2,3,4,5,6,7,8,9]

list = list1 +list2

n = 0

while n < 10:

password = []

n = n + 1

m = 0

password = password + random.sample(list, 8)

#把列表转化为字符串

password_middle = [str(i) for i in password]

password_end = ''.join(password_middle)

print("第{}个随机生成的密码是:{}".format(n,password_end))

random_password()

#random.sample(seq, k)实现从序列或集合seq中随机选取k个独立的的元素

#random.randint(a, b) #A-Z:65-90;a-z:97-122;ASCII码48~57为0到9十个阿拉伯数字

二、python生成随机密码:random库

要求:

(1)使用random库,采用0x1010作为随机种子。

(2)密码由26个字母的大小写,10个数字字符和!@#¥%……&*等8个字符组成。

(3)每个密码长度固定在10个字符。

(4)程序运行每次长生20个密码,每个密码一行。

(5)每次长生的20个密码保存在“随机密码.txt”文件中import random

random.seed(0x1010) #设置随机种子数

#设置种子选择空间

s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*"

ls = [] #存取密码的列表

FirstPsw = "" #存取第一个密码的字符

while len(ls)<20: #十个随机密码

pwd = ""

for i in range(10):

pwd += s[random.randint(0,len(s)-1)]

if pwd[0] in FirstPsw:

continue

else:

ls.append(pwd)

FirstPsw +=pwd[0]

fo = open("随机密码.txt","w",encoding ="utf-8")

fo.write("\n".join(ls))

fo.close()

三、Python生成8位必含数字、大小写字母的字符串(密码)#-*-coding:utf_8-*-

import random,string #调用random、string模块

src_digits = string.digits #string_数字

src_uppercase = string.ascii_uppercase #string_大写字母

src_lowercase = string.ascii_lowercase #string_小写字母

count = int(input("请输入生成密码个数:"))

for i in range(count):

#随机生成数字、大写字母、小写字母的组成个数(可根据实际需要进行更改)

digits_num = random.randint(1,6)

uppercase_num = random.randint(1,8-digits_num-1)

lowercase_num = 8 - (digits_num + uppercase_num)

#生成字符串

password = random.sample(src_digits,digits_num) + random.sample(src_uppercase,uppercase_num) + random.sample(src_lowercase,lowercase_num)

#打乱字符串

random.shuffle(password)

#列表转字符串

new_password = ''.join(password)

print(new_password)