Python實現密碼生成器
環境准備
python3.6
pip install pyinstaller
pip install gooey
代碼部分
# encoding:utf8
import random
import string
from gooey import GooeyParser,Gooey
@Gooey(encoding='utf8',program_name='強密碼生成器',program_description='用於生成包含大小寫字母、數字、特殊符號的強密碼',optional_cols=1)
def stronge_password():
parse = GooeyParser(description='用於生成包含大小寫字母、數字、特殊符號的強密碼')
parse.add_argument('數量',widget='TextField')
parse.add_argument('長度',widget='TextField')
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='Dropdown',choices={"是":1,"否":0},default='否')
parse.add_argument('去除詞',widget='TextField',default='None')
args = parse.parse_args()
if args.數字 == "是":
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.數量)):
result = ''.join([random.choice(letter_list) for i in range(int(args.長度))])
print(result)
if __name__ == '__main__':
stronge_password()
使用方法
下載地址密碼生成器
輸入密碼長度和需要的數量,默認生成僅數字的密碼,去除詞(類似於O0的很難分辨的可以寫到去除詞文本框中)