1. 程式人生 > >隨機密碼生成工具

隨機密碼生成工具

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__的具體意義


隨機密碼生成工具