一般要求具有相当复杂的密码。在本文中,我们将看到如何验证给定密码是否具有一定的复杂性。为此,将使用称为re的正则表达式模块。
首先,我们创建一个正则表达式,该表达式可以满足调用有效密码所需的条件。然后,我们使用re的搜索功能将给定密码与所需条件进行匹配。在下面的示例中,复杂性要求是我们至少需要一个大写字母,一个数字和一个特殊字符。我们还需要密码的长度在8到18之间。
import re pswd = 'XdsE83&!' reg = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!#%*?&]{8,18}$" # compiling regex match_re = re.compile(reg) # searching regex res = re.search(match_re, pswd) # validating conditions if res: print("Valid Password") else: print("Invalid Password")
输出结果
运行上面的代码给我们以下结果-
Valid Password
在此示例中,我们使用的密码不符合所有要求的条件。例如,密码中没有数字。在这种情况下,程序会将其指示为无效密码。
import re pswd = 'XdsEfg&!' reg = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*#?& ])[A-Za-z\d@$!#%*?&]{8,18}$" # compiling regex match_re = re.compile(reg) # searching regex res = re.search(match_re, pswd) # validating conditions if res: print("Valid Password") else: print("Invalid Password")
输出结果
运行上面的代码给我们以下结果-
Invalid Password