亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

原由

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

密碼泄露是一個(gè)非常普遍的問題,許多人的賬戶和密碼經(jīng)常會(huì)被泄露出來,導(dǎo)致個(gè)人信息被盜用、金融損失、惡意軟件感染等嚴(yán)重問題。定期更換密碼可以減少這種風(fēng)險(xiǎn),因?yàn)榧词鼓愕拿艽a被盜了,攻擊者也只能獲得你的信息和權(quán)限一段時(shí)間。

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

編程思路

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

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

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

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

代碼

import tkinter as tk
import random
import string
 
def generate_password(length):
    # 可以自定義密碼中包含的字符集
    characters = string.ascii_letters + string.digits
    # 生成指定長度的隨機(jī)密碼
    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("生成隨機(jī)密碼")
 
# 創(chuàng)建標(biāo)簽和輸入框,用于輸入密碼長度
password_length_label = tk.Label(root, text="請(qǐng)輸入要生成的密碼長度:")
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)
 
# 進(jìn)入主事件循環(huán)
root.mainloop()

效果如下

補(bǔ)充

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

python 隨機(jī)生成密碼

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

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

import random
import string

from gooey import GooeyParser,Gooey
@Gooey(encoding='utf8',program_name='強(qiáng)密碼生成器',program_description='用于生成包含大小寫字母、數(shù)字、特殊符號(hào)的強(qiáng)密碼',optional_cols=1)
def stronge_password():
parse = GooeyParser(description='用于生成包含大小寫字母、數(shù)字、特殊符號(hào)的強(qiáng)密碼')
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('特殊符號(hào)',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.特殊符號(hào):
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制作一個(gè)密碼生成器的文章就介紹到這了,更多相關(guān)Python密碼生成器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中IP地址處理IPy模塊的方法

    Python中IP地址處理IPy模塊的方法

    這篇文章主要介紹了Python中IP地址處理IPy模塊的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 簡介Django中內(nèi)置的一些中間件

    簡介Django中內(nèi)置的一些中間件

    這篇文章主要介紹了簡介Django中內(nèi)置的一些中間件,Django是最具人氣的Python web開發(fā)框架,需要的朋友可以參考下
    2015-07-07
  • python讀取一個(gè)目錄下所有txt里面的內(nèi)容方法

    python讀取一個(gè)目錄下所有txt里面的內(nèi)容方法

    今天小編就為大家分享一篇python讀取一個(gè)目錄下所有txt里面的內(nèi)容方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python繪圖模塊matplotlib示例詳解

    python繪圖模塊matplotlib示例詳解

    這篇文章主要介紹了python繪圖模塊matplotlib示例詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python使用matplotlib實(shí)現(xiàn)的圖像讀取、切割裁剪功能示例

    Python使用matplotlib實(shí)現(xiàn)的圖像讀取、切割裁剪功能示例

    這篇文章主要介紹了Python使用matplotlib實(shí)現(xiàn)的圖像讀取、切割裁剪功能,結(jié)合實(shí)例形式分析了Python基于matplotlib操作圖片的加載、讀取、坐標(biāo)控制及裁剪相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • 使用Python第三方庫xlrd讀取Excel中的數(shù)據(jù)的流程步驟

    使用Python第三方庫xlrd讀取Excel中的數(shù)據(jù)的流程步驟

    這篇文章主要給大家介紹了使用Python第三方庫xlrd讀取Excel中的數(shù)據(jù)的流程步驟,文中通過代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-12-12
  • Pycharm設(shè)置utf-8自動(dòng)顯示方法

    Pycharm設(shè)置utf-8自動(dòng)顯示方法

    今天小編就為大家分享一篇Pycharm設(shè)置utf-8自動(dòng)顯示方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 一招教你搞定Pycharm無法下載漢化包問題

    一招教你搞定Pycharm無法下載漢化包問題

    最近需要用到自然語言處理工具,python提供了很多自帶的工具包,下面這篇文章主要給大家介紹了關(guān)于Pycharm無法下載漢化包問題的解決辦法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • Python數(shù)據(jù)讀寫之Python讀寫CSV文件

    Python數(shù)據(jù)讀寫之Python讀寫CSV文件

    這篇文章主要介紹了Python數(shù)據(jù)讀寫之Python讀寫CSV文件,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-06-06
  • 對(duì)pandas寫入讀取h5文件的方法詳解

    對(duì)pandas寫入讀取h5文件的方法詳解

    今天小編就為大家分享一篇對(duì)pandas寫入讀取h5文件的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12

最新評(píng)論