隨機密碼生成工具
阿新 • • 發佈:2017-07-17
python3 隨機密碼生成
#!/usr/bin/python # -*- coding: utf-8 -*- """ Author: Linxy -- <[email protected]> Purpose: "此程序用於生成指定位數的同時包涵大小寫字母、數字0-9、及特殊符號~!@#$%^&*()_+`[]{}|<>的字符串" Created: 2017/6/3 """ import random import sys print("此程序用於生成指定位數的同時包涵大小寫字母、數字0-9、及特殊符號~!@#$%^&*()_+`[]{}|<>的字符串") print("註意:由於數字1與小寫l比較相似所以生成的字符串裏不包涵小寫的l") n=input("請輸入一個大於等於4的數字:") try: n1=int(n) except ValueError: print("輸入不能為空或者非數字") x=input() sys.exit() l=[] if n1<4: print("輸入的數字必須大於等於4") x=input() sys.exit() a1=n1//4 b1=random.randint(1,a1) b2=random.randint(1,a1) b3=random.randint(1,a1) b4=random.randint(1,a1) b5=n1-b1-b2-b3-b4 for i in range(0,b1): l.append(random.choice("abcdefghijklmnopqrstuvwxyz")) for i in range(0,b2): l.append(random.choice("ABCDEFGHIJKLMNOPQRSTUVWXYZ")) for i in range(0,b3): l.append(str(random.randint(0,9))) for i in range(0,b4): l.append(random.choice("~!@#$%^&*()_+`[]{}|<>")) for i in range(0,b5): l.append(random.choice("~!@#$%^&*()_+`[]{}|<>ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijkmnopqrstuvwxyz")) #print(l) random.shuffle(l) #print(l) l2="".join(l) print("生成的字符串為:") print(l2) print("\n") print("請復制上述字符串並註意記錄。") print("請按任意鍵退出!") x=input() #if __name__==‘__main__‘:#此處可以理解為固定格式 詳細可查查__name__ __main__的具體意義
隨機密碼生成工具