大家好,我是菜鳥哥!
週末約學妹一起喫飯,喫飯的時候學妹跟我倒苦水,“最近QQ又被盜號了,我的QQ怎麼老是被盜,老是盯着我一個號”,我好奇的問問你是不是密碼設置的太簡單了啊,不能總是12345,*666 之類的吧!
學妹問:那怎麼辦,太複雜的密碼我也不會設置啊,而且我怎麼知道我的密碼強度呢!
菜鳥哥:一拍大腿,說我今晚給你做一個小軟件,保管好用!
其實日常的生活中,大家都已經離不開對比密碼的使用,無論是日常社交的QQ密碼,還是網站的登錄密碼,都需要使用密碼,而大家的密碼往往會因爲設置的不夠嚴謹,而被人盜號。今天菜鳥哥就跟大家分享如何做一個密碼檢查器,用來檢測自己的密碼強度。
01.用法講解
首先,我們講述一下檢查器的用法吧。
大家只需要在檢查器中輸入自己的密碼,然後通過點擊左上角功能下的開始按鈕,檢查器就可以給出用戶輸入的密碼強度。點擊退出按鈕後,關閉檢查器。
02.程序講解
接下來我們通過程序的解析來看一下檢查器是如何進行密碼強度的判斷的吧。對於程序部分的內容,可以分爲兩部分來進行闡述。
密碼強度邏輯
程序界面展示
1).密碼強度邏輯
這裏的密碼強度的檢測,小編是按照如下的規則進行制定的。
密碼長度小於10且只有數字或者字母:青銅;
密碼長度小於10且有數字和字母:黃金;
密碼長度小於10且有數字和字母和標點符號:星耀;
密碼長度大於等於10且只有數字或者字母:白銀;
密碼長度大於等於10且有數字和字母:鑽石;
密碼長度大於等於10且有數字和字母和標點符號:王者;
小編按照密碼長度的不同氛圍了兩大類,分別是密碼長度是否大於10,在這個基礎上,按照密碼內容中是否包含數字、字母以及標點符號又進行了類別的細緻分類。這段邏輯,用代碼其實是非常容易實現的,程序如下圖所示。
這裏需要注意的是邏輯判斷和程序的對應關係,例如,密碼中只包含數字的話,程序應該利用all()函數來進行判斷;如果是密碼中包含數字的話,則應該利用any()函數來進行判斷,否則程序的判斷邏輯就會出現問題。當然,大家也可以按照自己的喜好來修改密碼強度的判斷邏輯。
2).程序界面展示
程序的界面利用的是pyqt5進行製作,大家可以參考我們之前分享的詩詞接龍的文案(牛逼,用Python來做《中國詩詞大會》的詩詞接龍,看誰是對王之王!),來通過QT designer進行界面的設計,並將設計得到的ui文件轉換爲批閱文件。在完成邏輯判斷的基礎上,需要在界面中進行密碼強度的文字和條形圖的可視化展示。如下圖所示:
界面當中,密碼強度由文字展示和條形圖所構成,當完成邏輯判斷後,可以通過程序對文字和條形圖的顏色進行設置,程序如下圖所示。
上述的程序中,當完成對於密碼強度的判斷後,則講文字展示部分的內容設置爲”黃金“,而將條條形圖部分的顏色設置爲RGB(0,191,255)的顏色。如下圖所示:
總結
以上就是小編同大家分享的密碼強度檢查器,大家可以下載檢查器軟件,來進行自己的密碼強度檢查,只有提升自己的密碼強度,才能更好的降低密碼被盜取的風險。好了,我要去找學妹得瑟了,我們下一篇原創見。
【菜鳥學Python】累計原創近400篇趣味乾貨(爬蟲,數據分析,算法,面試指南,原創趣味實戰,Python遊戲,機器學習),歡迎一起學Python,交流指正。