如何解决在Python 3中生成具有要求的随机字符串
您可以首先生成一个匹配的密码,方法是先选择一个特殊的字符和一个数字(以相同的方式选择一个小写字母和一个大写字母),然后填满所有内容,最后对顺序进行重新排序:
pwlist = ([random.choice(special_char),
random.choice(string.ascii_digits),
random.choice(string.ascii_lowercase),
random.choice(string.ascii_uppercase),
]
+ [random.choice(string.ascii_lowercase
+ string.ascii_uppercase
+ special_char
+ string.ascii_digits) for i in range(4)])
random.shuffle(pwlist)
pw = ''.join(pwlist)
解决方法
我正在尝试为具有以下密码要求的Active
Directory生成随机密码:至少8个字符,至少一个特殊字符,至少一位数字,至少一个小写字母和至少一个大写字母。
使用以下代码,我可以生成一个随机密码,并检查它是否包含特殊字符。生成新密码,直到找到特殊字符为止。
special_char = "!@%/()=?+.-"
password_string = "".join([random.choice(string.ascii_lowercase + string.ascii_digits + string.ascii_uppercase + special_char) for n in range(8)])
while any(c in password_string for c in special_char) is not True:
password_string = "".join([random.choice(string.ascii_lowercase + string.ascii_digits + string.ascii_uppercase + special_char) for n in range(8)])
以下问题是,它仅检查特殊字符并生成新密码可能会摆脱其他要求(假设它们已经存在)。如何才能有效地实施AD密码要求?谢谢你的帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。