為了確保我們的賬戶安全並防止密碼被黑客入侵,必須將密碼設置得足夠安全才行,以至於沒人能猜到。
密碼生成器
它是一個工具,可根據您設置的給定準則生成密碼,為我們的帳戶創建不可預測的強密碼。密碼生成器工具會為用戶創建一個隨機的,自定義的密碼,以幫助他們創建安全性更高的強密碼。
密碼生成器項目將使用Tkinter,random,string,pyperclip等python模塊構建。在該項目中,用戶必須選擇密碼長度,然後單擊“ Generate Password ”按鈕。它將在下面顯示生成的密碼。如果用戶單擊“複製到剪貼板”按鈕,它將自動複製密碼。
為了構建這個項目,我們將使用python和庫的基本概念– Tkinter,pyperclip,random,string。
- Tkinter是標準的GUI庫,並且是構建GUI應用程序的最簡單方法之一。
- pyperclip模塊允許我們在剪貼板之間複製文本並將其粘貼到您的計算機。
- random模塊可以生成隨機數。
- string模塊包含許多用於處理標準python字符串的函數。
創建隨機密碼生成器的步驟
一、導入需要的庫
<code>from tkinter import * import random, string import pyperclip/<code>
二、初始化窗口
<code>root = Tk() root.geometry("400x400") root.resizable(0,0) root.title("PASSWORD GENERATOR")/<code>
- Tk()初始化了tkinter,這意味著創建窗口
- geometry()設置窗口的寬度和高度
- resizable(0,0)設置窗口的固定大小
- title()設置窗口的標題
<code>Label(root, text = 'PASSWORD GENERATOR' , font ='arial 15 bold').pack() Label(root, text ='PASSWORD', font ='arial 15 bold').pack(side = BOTTOM)/<code>
Label()用於顯示用戶無法修改的一行或多行文本。
- root是我們在窗口中引用的名稱
- text我們在標籤上顯示的文本
- font使用的字體
- pack部件組織塊
三、選擇密碼長度
<code>pass_label = Label(root, text = 'PASSWORD LENGTH', font = 'arial 10 bold').pack() pass_len = IntVar() length = Spinbox(root, from_ = 8, to_ = 32 , textvariable = pass_len , width = 15).pack()/<code>
- pass_len是一個整數類型的變量,用於存儲密碼的長度。
- Spinbox()用於從固定數量的值中進行選擇。這裡的值從8到32。
四、生成密碼的函數
<code>pass_str = StringVar() def Generator(): password = '' for x in range (0,4): Password = random.choice(string.ascii_uppercase) + random.choice(string.ascii_lowercase) + random.choice(string.digits) + random.choice(string.punctuation) for y in range(pass_len.get()- 4): password = password + random.choice(string.ascii_uppercase + string.ascii_lowercase + string.digits + string.punctuation) pass_str.set(password)/<code>
- pass_str是一個字符串類型的變量,用於存儲生成的密碼。
- password =“”是空字符串
- 第一個循環將生成一個長度為4的字符串,該字符串是大寫字母、小寫字母、數字和特殊符號的組合,該字符串將存儲在password變量中。
- 第二個循環將生成由用戶輸入的長度為4的隨機字符串,並將其添加到password變量中。在這裡,我們減去用戶長度的4,因為我們已經生成了長度為4的字符串。
這樣做是因為我們想要一個密碼,該密碼必須包含一個大寫字母,一個小寫字母,一個數字和一個特殊符號。
現在,將密碼設置為pass_str()變量。
<code>Button(root, text = "GENERATE PASSWORD" , command = Generator ).pack(pady= 5) Entry(root , textvariable = pass_str).pack()/<code>
- Button() 用於在我們的窗口上顯示按鈕
- command單擊按鈕時調用
- Entry()用於創建輸入文本字段
- textvariable用於將當前文本檢索到輸入框
五、複製密碼的函數
<code>def Copy_password(): pyperclip.copy(pass_str.get()) Button(root, text = 'COPY TO CLIPBOARD', command = Copy_password).pack(pady=5)/<code>
pyperclip.copy()用於將文本複製到剪貼板
Python密碼生成器輸出
總結
通過這些步驟,我們已經成功地使用python創建了一個隨機密碼生成器項目。我們使用了流行的tkinter庫在顯示窗口中渲染圖形,還了解了pyperclip和random庫。
我們學習瞭如何創建按鈕,輸入文本字段,標籤和Spinbox。這樣,我們成功創建了密碼生成器python項目。