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]