這篇文章運用了實例代碼展示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] 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)
看完這篇文章,你們學會python生成隨機密碼的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。