使用random和string模塊實現生成指定規則密碼

需求:當我使用自動化密碼更改工具去更改服務器密碼的時候,隨機產生的密碼字符串不一定符合我的密碼規則,會導致更改失敗。如規則爲:至少包含3個數字,3個小寫字母,1個大寫字母,長度不小於8位。實現代碼如下

def get_passwd(length=20):
    passwds = []
    while True:
        passwd = set(random.sample(string.ascii_letters + string.digits, length))
        if len(passwd.intersection(string.ascii_uppercase)) >= 1 and len(passwd.intersection(string.ascii_lowercase)) >= 3 and len(passwd.intersection(string.digits)) >= 3:
            passwds.append(''.join(passwd))
            break
    return passwds[0]


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章