欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解如何通過Python制作一個密碼生成器

 更新時間:2023年05月07日 10:20:15   作者:winfredzhang  
定期更換密碼是一種非常重要的安全措施,這種做法可以有效地保護你的賬戶和個人信息不受黑客和網(wǎng)絡攻擊者的侵害。所以本文就來用Python制作一個密碼生成器吧

原由

定期更換密碼是一種非常重要的安全措施,這種做法可以有效地保護你的賬戶和個人信息不受黑客和網(wǎng)絡攻擊者的侵害。

密碼泄露是一個非常普遍的問題,許多人的賬戶和密碼經(jīng)常會被泄露出來,導致個人信息被盜用、金融損失、惡意軟件感染等嚴重問題。定期更換密碼可以減少這種風險,因為即使你的密碼被盜了,攻擊者也只能獲得你的信息和權(quán)限一段時間。

此外,定期更換密碼還可以提高你的賬戶安全性,因為許多人使用相同的密碼和用戶名登錄多個網(wǎng)站和服務,如果一個密碼被盜,黑客可以輕松地訪問其他帳戶。通過定期更換密碼,可以確保你的密碼不會被黑客用于其他服務,從而提高你的安全性。

編程思路

首先導入了 Python 的 tkinter 模塊和之前編寫的生成隨機密碼的函數(shù)。然后,定義了一個 generate_callback 回調(diào)函數(shù),用于生成隨機密碼,并將其顯示在密碼編輯框中。

在 generate_callback 函數(shù)中,首先使用 password_length_var.get() 獲取用戶輸入的密碼長度,然后調(diào)用之前編寫的 generate_password 函數(shù)生成密碼。最后,使用 password_edit.delete() 和 password_edit.insert() 方法將密碼顯示在密碼編輯框中。

在主程序中,使用 tk.Label 和 tk.Entry 創(chuàng)建標簽和輸入框,用于輸入密碼長度。然后,使用 tk.Button 創(chuàng)建生成按鈕,并將 generate_callback 函數(shù)指定為回調(diào)函數(shù)。接著,使用 tk.Label 和 tk.Entry 創(chuàng)建密碼編輯框,用于顯示生成的密碼。

最后,使用 tk.mainloop() 進入主事件循環(huán),等待用戶操作。當用戶點擊生成按鈕時,程序?qū)⒆詣诱{(diào)用 generate_callback 函數(shù)生成隨機密碼,并將其顯示在密碼編輯框中。

代碼

import tkinter as tk
import random
import string
 
def generate_password(length):
    # 可以自定義密碼中包含的字符集
    characters = string.ascii_letters + string.digits
    # 生成指定長度的隨機密碼
    password = ''.join(random.choice(characters) for i in range(length))
    return password
 
def generate_callback():
    # 獲取密碼長度
    password_length = int(password_length_var.get())
    # 生成密碼
    password = generate_password(password_length)
    # 將密碼顯示在編輯框中
    password_edit.delete(0, tk.END)
    password_edit.insert(0, password)
 
# 創(chuàng)建主窗口
root = tk.Tk()
root.title("生成隨機密碼")
 
# 創(chuàng)建標簽和輸入框,用于輸入密碼長度
password_length_label = tk.Label(root, text="請輸入要生成的密碼長度:")
password_length_label.grid(row=0, column=0, padx=5, pady=5)
password_length_var = tk.StringVar()
password_length_edit = tk.Entry(root, textvariable=password_length_var)
password_length_edit.grid(row=0, column=1, padx=5, pady=5)
 
# 創(chuàng)建生成按鈕
generate_button = tk.Button(root, text="生成密碼", command=generate_callback)
generate_button.grid(row=1, column=0, padx=5, pady=5)
 
# 創(chuàng)建密碼編輯框,用于顯示生成的密碼
password_edit_label = tk.Label(root, text="生成的密碼:")
password_edit_label.grid(row=2, column=0, padx=5, pady=5)
password_edit = tk.Entry(root)
password_edit.grid(row=2, column=1, padx=5, pady=5)
 
# 進入主事件循環(huán)
root.mainloop()

效果如下

補充

除了上文的方法,小白還為大家準備了其他的Python實現(xiàn)密碼生成的方法,需要的可以參考一下

python 隨機生成密碼

# 這里主要是以ascii碼去表示上訴的字符串
#表示26個字母,查詢ascci碼的表示是65, 90,但是我是使用range表示,左閉右開,步長為一
import random
total_len = 12 #密碼總長為12 
daxiezimu = range(65,91, 1)  # 定義26個大寫字母列表
xiaoxiezimu = range(97, 123, 1)  # 定義26個大寫字母列表
shuzi = range(48, 58, 1) # 定義0-9個數(shù)字
teshuzifu = [64, 63, 96]  # 定義特殊字符@ ? \ 特殊字符就給了一個列表,因為assci碼沒有連續(xù)的
random3_list = [daxiezimu, xiaoxiezimu, teshuzifu]
for i in random3_list: # 循環(huán)需要隨機生成0-3位的大小寫字母跟特殊字符
    for j in range(random.randint(1, 3)): # 隨機循環(huán)0-3的次數(shù)
       res.append(chr(random.choice(i))) # chr將ascii碼轉(zhuǎn)為字符 random.choice(i)隨機從i中取出一個數(shù)
x = total_len - len(res) #需要生成x位長度的數(shù)字
for k in range(x):  #需要生成多少位的數(shù)字就循環(huán)幾次
    res.append(chr(random.choice(shuzi)))
random.shuffle(res)   # random.shuffle(列表對象)  用來打亂列表

Python實現(xiàn)密碼生成器

import random
import string

from gooey import GooeyParser,Gooey
@Gooey(encoding='utf8',program_name='強密碼生成器',program_description='用于生成包含大小寫字母、數(shù)字、特殊符號的強密碼',optional_cols=1)
def stronge_password():
parse = GooeyParser(description='用于生成包含大小寫字母、數(shù)字、特殊符號的強密碼')
parse.add_argument('數(shù)量',widget='TextField')
parse.add_argument('長度',widget='TextField')
parse.add_argument('數(shù)字',widget='Dropdown',choices={"是":1,"否":0},default='是')
parse.add_argument('大寫字母',widget='Dropdown',choices={"是":1,"否":0},default='否')
parse.add_argument('小寫字母',widget='Dropdown',choices={"是":1,"否":0},default='否')
parse.add_argument('特殊符號',widget='Dropdown',choices={"是":1,"否":0},default='否')
parse.add_argument('去除詞',widget='TextField',default='None')
args = parse.parse_args()
if args.數(shù)字 == "是":
digits = list(string.digits.strip())
else:
digits = []
if args.大寫字母:
upper = list(string.ascii_uppercase)
else:
upper = []
if args.小寫字母:
lower = list(string.ascii_lowercase)
else:
lower = []
if args.特殊符號:
symbol = list("~!@#$%^&*()_+{}[]/?")
else:
symbol = []
if args.去除詞 != 'None':
stop_word = list(args.去除詞.strip())
else:
stop_word = []
letter_list = digits + upper + lower + symbol
for item in stop_word:
if item in letter_list:
letter_list.remove(item)
for i in range(int(args.數(shù)量)):
result = ''.join([random.choice(letter_list) for i in range(int(args.長度))])
print(result)

if __name__ == '__main__':
stronge_password()

到此這篇關(guān)于詳解如何通過Python制作一個密碼生成器的文章就介紹到這了,更多相關(guān)Python密碼生成器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 爬蟲Python驗證碼識別入門

    爬蟲Python驗證碼識別入門

    這篇文章主要介紹了爬蟲Python驗證碼識別,屬于入門級別的介紹,剛接觸爬蟲的朋友可以參考如下
    2021-08-08
  • 人工智能——K-Means聚類算法及Python實現(xiàn)

    人工智能——K-Means聚類算法及Python實現(xiàn)

    這篇文章主要介紹了人工智能——K-Means聚類算法及Python實現(xiàn),一個能夠找到我圈出的這?些點集的算法,就被稱為聚類算法,下面就來看看文章具體的介紹吧
    2022-01-01
  • Jinja2實現(xiàn)模板渲染與訪問對象屬性流程詳解

    Jinja2實現(xiàn)模板渲染與訪問對象屬性流程詳解

    要了解jinja2,那么需要先理解模板的概念。模板在Python的web開發(fā)中廣泛使用,它能夠有效的將業(yè)務邏輯和頁面邏輯分開,使代碼可讀性增強,并且更加容易理解和維護。模板簡單來說就是一個其中包含占位變量表示動態(tài)部分的文,模板文件在經(jīng)過動態(tài)賦值后,返回給用戶
    2023-03-03
  • 詳解Python多線程

    詳解Python多線程

    這篇文章主要為大家詳細介紹了Python多線程的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Flask中sqlalchemy模塊的實例用法

    Flask中sqlalchemy模塊的實例用法

    在本篇文章里小編給大家整理了關(guān)于Flask中sqlalchemy模塊的實例用法,需要的朋友們可以學習下。
    2020-08-08
  • Python三種打包exe方法案例教程

    Python三種打包exe方法案例教程

    這篇文章主要介紹了Python三種打包exe方法案例教程,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • python實現(xiàn)的正則表達式功能入門教程【經(jīng)典】

    python實現(xiàn)的正則表達式功能入門教程【經(jīng)典】

    這篇文章主要介紹了python實現(xiàn)的正則表達式功能,詳細分析了Python正則表達式中常用的各種符號、函數(shù)等的使用方法與注意事項,需要的朋友可以參考下
    2017-06-06
  • Python中eval函數(shù)的表達式作用示例

    Python中eval函數(shù)的表達式作用示例

    這篇文章主要介紹了Python中eval函數(shù)的表達式用法示例,文中通過示例對比來為大家進行詳細的講解,有需要的朋友可以借鑒參下,希望有所幫助
    2021-09-09
  • Python實現(xiàn)按當前日期(年、月、日)創(chuàng)建多級目錄的方法

    Python實現(xiàn)按當前日期(年、月、日)創(chuàng)建多級目錄的方法

    這篇文章主要介紹了Python 按當前日期(年、月、日)創(chuàng)建多級目錄的方法,實現(xiàn)代碼很簡單,需要的朋友可以參考下
    2018-04-04
  • TensorFlow繪制loss/accuracy曲線的實例

    TensorFlow繪制loss/accuracy曲線的實例

    今天小編就為大家分享一篇TensorFlow繪制loss/accuracy曲線的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01

最新評論