寫了個程式,主要是用來檢測mysql資料庫的空密碼和弱密碼的,
在這裡,定義了三類弱密碼:
1. 連續數字,譬如123456,在get_weak_num中實現
2. 連續字母,譬如abcdef,在get_weak_character中實現
當然,個數都是隨機的。
3. 數字和字母隨機組合。在get_weak_num_character中實現。
同時定義了乙個password_exist的列表,用於儲存不同的密碼。如果新生成的密碼在列表中存在,則不進行mysql資料庫的連線,直接到下一次迴圈。
具體如下:
#coding=utf8
import
random,string,mysqldb
defget_num():
return random.randint(0,9)
defget_char():
return
random.choice(tuple(string.lowercase))
defchoose_any():
return
[str(get_num()),get_char()]
defget_weak_num():
weak_num=
initial_num=get_num()
for i in
range(get_num()):
if initial_num +i ==9:
break
;
return
weak_num
defget_weak_character():
weak_character=
initial_character=get_char()
for i in
range(get_num()):
if chr(ord(initial_character)+i) == 'z'
:
break
return
weak_character
defget_weak_num_character():
return [random.choice(choose_any()) for num in
range(get_num())]
password_exist=
for i in range(10000):
choice =[get_weak_num(), get_weak_character(), get_weak_num_character()]
password=''
.join(random.choice(choice))
print"第
"+str(i)+"
次密碼為:
"+password
if password in
password_exist:
continue
else
:
try:
mysqldb.connect(
'192.168.244.145
', '
root
', password)
'the password for mysql is:
'+password
break
except
:
continue
if i == 9999:
'the password is not so weak~
'
python生成隨機密碼
建立randpass.py指令碼,要求如下 編寫乙個能生成8位隨機密碼的程式 使用random的choice函式隨機取出字元 改進程式,使用者可以自己決定生成多少位的密碼 匯入random模組,通過random靜態物件呼叫choice 方法,從自定義字串all chs中獲取隨機項,將獲取到的隨機字元...
Python 隨機密碼生成
第一步 匯入 random 和 string 庫 匯入 random 和 string 庫 import random import string 第二步 設定變數 a 與變數 key 設定變數 a 與變數 key a string.ascii letters string.digits key 第...
隨機密碼生成(Python程式設計)
一 問題描述。編寫程式。在26個字母大小寫和9個數字組成的列表中隨機生成10個8位密碼。二 問題分析。因為要在列表中隨機生成密碼,故需要將26個大 小寫字母和9個數字存放在同乙個列表中。首先使用string模組中的ascii letters和digits方法來引入大 小寫字母與0 9的數字,然後用l...