How does python generate random passwords?
How to generate random passwords in python:
1. Random password generation. Write a program to randomly generate 10 8-digit passwords from a list of 26 uppercase and lowercase letters and 9 numbers.
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十个阿拉伯数字
2. Python generates random passwords: random library
Requirements:
(1) Use the random library and use 0x1010 as the random seed.
(2) The password consists of 26 uppercase and lowercase letters, 10 numeric characters and! @#¥%……&* and other 8 characters.
(3) The length of each password is fixed at 10 characters.
(4) Each time the program runs, 20 passwords will be generated, one line for each password.
(5) The 20 passwords for each longevity are saved in the "random password.txt" file
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()
3. Python generates an 8-digit string that must contain numbers and uppercase and lowercase letters ( Password)
#-*-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)
Recommended tutorial: "python video tutorial"
The above is the detailed content of How to generate random password in python?. For more information, please follow other related articles on the PHP Chinese website!