溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python生成隨機(jī)密碼的方法

發(fā)布時(shí)間:2020-06-20 16:16:55 來(lái)源:億速云 閱讀:1378 作者:Leah 欄目:編程語(yǔ)言

這篇文章運(yùn)用了實(shí)例代碼展示python生成隨機(jī)密碼的方法,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

一、隨機(jī)密碼生成。編寫(xiě)程序在26個(gè)字母大小寫(xiě)和9個(gè)數(shù)字組成的列表中隨機(jī)生成10個(gè)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)
            #把列表轉(zhuǎn)化為字符串
            password_middle = [str(i) for i in password]
            password_end = ''.join(password_middle)
            
            print("第{}個(gè)隨機(jī)生成的密碼是:{}".format(n,password_end))
        
random_password()
#random.sample(seq, k)實(shí)現(xiàn)從序列或集合seq中隨機(jī)選取k個(gè)獨(dú)立的的元素
#random.randint(a, b)   #A-Z:65-90;a-z:97-122;ASCII碼48~57為0到9十個(gè)阿拉伯?dāng)?shù)字

二、python生成隨機(jī)密碼:random庫(kù)

要求:

(1)使用random庫(kù),采用0x1010作為隨機(jī)種子。

(2)密碼由26個(gè)字母的大小寫(xiě),10個(gè)數(shù)字字符和!@#¥%……&*等8個(gè)字符組成。

(3)每個(gè)密碼長(zhǎng)度固定在10個(gè)字符。

(4)程序運(yùn)行每次長(zhǎng)生20個(gè)密碼,每個(gè)密碼一行。

(5)每次長(zhǎng)生的20個(gè)密碼保存在“隨機(jī)密碼.txt”文件中

import random
random.seed(0x1010)  #設(shè)置隨機(jī)種子數(shù)
    #設(shè)置種子選擇空間
s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*"
ls = [] #存取密碼的列表
FirstPsw = "" #存取第一個(gè)密碼的字符
 
while len(ls)<20:  #十個(gè)隨機(jī)密碼
    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("隨機(jī)密碼.txt","w",encoding ="utf-8")
fo.write("\n".join(ls))
fo.close()

三、Python生成8位必含數(shù)字、大小寫(xiě)字母的字符串(密碼)

#-*-coding:utf_8-*-
import random,string    #調(diào)用random、string模塊
src_digits = string.digits              #string_數(shù)字
src_uppercase = string.ascii_uppercase  #string_大寫(xiě)字母
src_lowercase = string.ascii_lowercase  #string_小寫(xiě)字母
count = int(input("請(qǐng)輸入生成密碼個(gè)數(shù):"))
for i in range(count):
    #隨機(jī)生成數(shù)字、大寫(xiě)字母、小寫(xiě)字母的組成個(gè)數(shù)(可根據(jù)實(shí)際需要進(jìn)行更改)
    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)
    #列表轉(zhuǎn)字符串
    new_password = ''.join(password)
    print(new_password)

看完這篇文章,你們學(xué)會(huì)python生成隨機(jī)密碼的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI