gpt4 book ai didi

regex - 验证Active Directory默认密码复杂性的正则表达式

转载 作者:行者123 更新时间:2023-12-04 16:37:51 28 4
gpt4 key购买 nike

我有一个密码列表,需要检查并确定它们是否符合AD的默认4之3规则。

规则包含以下4个要求中的3个:
小写字母(a-z)
大写字母(A-Z)
数字(0-9)
特殊字符(!@#$%^&*()_ + =)

我还在学习正则表达式。我知道如何只选择满足任一字符大小写的字符,但是我不确定该如何做4之3。

附带说明一下,AD复杂性还有两个很重要的微妙之处(但超出了原始问题的范围)。

它实际上是5中的3。第五是Unicode字符。很高兴以此来更新Regex。

另一个是您不能在密码中完整包含sAMAccountName值(不区分大小写),也不能将displayName值拆分为按空格,逗号,破折号,下划线,英镑,竖线等标记分隔的标记,以及这些标记(3个字符和更长)不能完全包含在密码中,不区分大小写。

最佳答案

如果您真的想要一个大的正则表达式,它将是这样的:

(?=^.{8,255}$)((?=.*\d)(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[^A-Za-z0-9])(?=.*[a-z])|(?=.*[^A-Za-z0-9])(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9]))^.*

请注意,它还会将密码长度设置为8到255个字符。您可以在第一部分中更改“{8,255}”部分以调整长度要求。还值得注意的是,这在标准ASP.NET RegularExpressionValidator控件中对我有用。

匹配项:“Passw0rd”“passW @ rd”“1B2a345 @#$%”

非匹配项:“123123123”,“密码”,“asdf&”

Source(通过RegExLib.com的Matthew Hazzard)

关于regex - 验证Active Directory默认密码复杂性的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/774569/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com