如何利用Python生成隨機密碼

2021-09-08 18:15:36 字數 1821 閱讀 7155

寫了個程式,主要是用來檢測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)

print

'the password for mysql is:

'+password

break

except

:

continue

if i == 9999:

print

'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...