python123测验5随机密码⽣成,python如何⽣成随机密码?
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]
random pythonfo = 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)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论