Home  >  Article  >  Backend Development  >  How to generate random password in python?

How to generate random password in python?

coldplay.xixi
coldplay.xixiOriginal
2020-06-19 15:51:5322109browse

How to generate random password in python?

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 = &#39;&#39;.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 = &#39;&#39;.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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn