python实现随机密码生成

python实现随机密码生成一 随机密码生成 编写程序在 26 个字母大小写和 9 个数字组成的列表中随机生成 10 个 8 位密码 importrandom password list1 把字母加入序列中 foriinrange 65 90 list1 append chr i

一、随机密码生成。编写程序在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 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*" 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) 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/229788.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午3:52
下一篇 2026年3月16日 下午3:53


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号