python 建立密碼
使用:
mkpass -l [password length] [-nu|-nl|-ns]
獲取幫助:
mkpass -h
mkpass -l [password length] [-nu|-nl|-ns]
獲取幫助:
mkpass -h
點選(此處)摺疊或開啟
-
#!/usr/bin/env python3
-
# _*_coding:utf-8_*_
-
# Auth by raysuen
-
-
import sys,string,re
-
import random
-
-
class MakePass(object):
-
rPassInfo={
-
"Length":8,
-
"NoUpper":False,
-
"NoLower":False,
-
"NoSysbol":False
-
}
-
def __init__(self,passlen=8,nu=False,nl=False,ns=False):
-
if passlen != 8:
-
self.rPassInfo["Length"] = passlen
-
if nu == True:
-
self.rPassInfo["NoUpper"] = True
-
if nl == True:
-
self.rPassInfo["NoLower"] = True
-
if ns == True:
-
self.rPassInfo["NoSysbol"] = True
-
-
def MkPass(self):
-
rPassStr={
-
"passStr":'',
-
"AllChar":[],
-
"pwIndex":[],
-
"num":0
-
}
-
if self.rPassInfo["NoUpper"] == False:
-
rPassStr["AllChar"].append(random.choice(string.ascii_uppercase))
-
rPassStr["passStr"] = rPassStr["passStr"]+''.join(string.ascii_lowercase)
-
rPassStr["num"] += 1
-
if self.rPassInfo["NoLower"] == False:
-
rPassStr["AllChar"].append(random.choice(string.ascii_lowercase))
-
rPassStr["passStr"] = rPassStr["passStr"] + ''.join(string.ascii_lowercase)
-
rPassStr["num"] += 1
-
if self.rPassInfo["NoSysbol"] == False:
-
rPassStr["AllChar"].append(random.choice("!@#$%&*()+.,"))
-
rPassStr["passStr"] = rPassStr["passStr"] + "!@#$%&*()+.,"
-
rPassStr["num"] += 1
-
rPassStr["passStr"] = rPassStr["passStr"] + ''.join(string.digits)
-
rPassStr["AllChar"].append(random.choice(string.digits))
-
rPassStr["num"] += 1
-
-
rPassStr["pwIndex"].extend(random.sample(range(1,self.rPassInfo["Length"]),rPassStr["num"]))
-
rPassStr["pwIndex"].sort()
-
-
n = 0
-
i = 0
-
res = ''
-
while i < self.rPassInfo["Length"]:
-
isMatch = False
-
for j in rPassStr["pwIndex"]:
-
if i == j:
-
res = res + ''.join(rPassStr["AllChar"][n])
-
n += 1
-
i += 1
-
isMatch = True
-
break
-
if isMatch == False:
-
res = res + ''.join(random.choice(rPassStr["passStr"]))
-
i += 1
-
-
return res
-
-
def func_help():
-
print("""
-
Name:
-
mkpass --make password
-
-
Synopsis:
-
mkpass -l [password length] [-nu|-nl|-ns]
-
-
Description:
-
-l Specify a number for the length of password,defaul 8
-
-nu Don't use upper
-
-nl Don't use lower
-
-ns Don't use special character
-
-h Get help
-
""")
-
-
-
if __name__=='__main__':
-
i = 1
-
mp = MakePass()
-
while i < len(sys.argv):
-
if sys.argv[i] == '-l': #-l means length
-
if i+1 > len(sys.argv):
-
print("The value of -l must be specified!!!")
-
exit(1)
-
elif re.match("^-", sys.argv[i+1]) != None: #判斷下個引數是否以-開頭
-
print("The value of -l must be specified!!!")
-
exit(1)
-
elif sys.argv[i+1].isdecimal() == False: #判斷-l下一個引數是否為數字
-
print("The value of -l must be digits")
-
exit(1)
-
i += 1
-
mp.rPassInfo["Length"] = int(sys.argv[i]) #獲取-l引數的value
-
elif sys.argv[i] == '-nu': #-nu 指定不適用大寫字元
-
mp.rPassInfo["NoUpper"] = True
-
elif sys.argv[i] == '-nl': #-nu 指定不適用小寫字元
-
mp.rPassInfo["NoLower"] = True
-
elif sys.argv[i] == '-ns': #-nu 指定不適用特殊字元
-
mp.rPassInfo["NoSysbol"] = True
-
elif sys.argv[i] == '-h':
-
func_help()
-
exit(0)
-
i += 1
- print(mp.MkPass())
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28572479/viewspace-2153864/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 管理(002):建立密碼檔案示例密碼
- python實現密碼破解Python密碼
- linux建立使用者並設定密碼Linux密碼
- Linux基礎命令---htpasswd建立密碼檔案Linux密碼
- Go 建立帶密碼的zip壓縮包Go密碼
- 愷撒密碼Java/Python實現密碼JavaPython
- MySQL建立使用者,配置許可權、密碼策略MySql密碼
- 1.7.2. 使用ORAPWD建立資料庫密碼檔案資料庫密碼
- shell+expect建立多個節點無密碼ssh密碼
- 如何在命令列上建立符合特定規範的密碼?命令列密碼
- python指令碼批次建立資料表Python指令碼
- 使用 Mitmdump 與 Python 指令碼進行密碼嗅探MITPython指令碼密碼
- 密碼安全:密碼設定要求,密碼爆破辦法,密碼歸類使用,密碼處置方案密碼
- 1.7. 建立和維護資料庫密碼檔案資料庫密碼
- 希爾密碼(hill密碼)密碼
- Python內建庫:getpass(密碼輸入工具)Python密碼
- Python學習——Caesar Cipher密碼破解(加密)方法Python密碼加密
- mongodb對資料庫建立使用者名稱和密碼MongoDB資料庫密碼
- 應用密碼學——古典密碼密碼學
- 序列密碼與分組密碼密碼
- win7三級密碼怎麼設定 win7系統三層密碼建立方法介紹Win7密碼
- 使用python解密SecureCRT上儲存的密碼 (Windows)Python解密Securecrt密碼Windows
- 如何讓Python不回顯獲取密碼輸入Python密碼
- 密碼密碼
- python建立檔名亂碼怎麼解決Python
- 應用密碼學 - 公鑰密碼密碼學
- 應用密碼學——分組密碼密碼學
- 現代密碼-公鑰密碼RSA密碼
- win 建立共享資料夾(共享需要密碼,共享後打不開)密碼
- 使用1Password如何為所有線上帳戶建立強密碼密碼
- 《密碼學系列》|| 密碼學中的流密碼是怎麼回事?密碼學
- python輸入錯誤密碼使用者鎖定Python密碼
- Python技術分享:教你如何解密隔壁WiFi密碼Python解密WiFi密碼
- Python攻防-暴力破解附近區域網WIFI密碼PythonWiFi密碼
- python 建立mysql資料庫腳(執行sql)指令碼程式碼PythonMySql資料庫指令碼
- Oracle優化案例-建立不成功的密碼檔案(二十七)Oracle優化密碼
- 【Linux】mysql下載與安裝與重置密碼與建立資料庫LinuxMySql密碼資料庫
- 拆分密碼密碼