Python中的密码验证

一般要求具有相当复杂的密码。在本文中,我们将看到如何验证给定密码是否具有一定的复杂性。为此,将使用称为re的正则表达式模块。

例子-1

首先,我们创建一个正则表达式,该表达式可以满足调用有效密码所需的条件。然后,我们使用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

示例-2

在此示例中,我们使用的密码不符合所有要求的条件。例如,密码中没有数字。在这种情况下,程序会将其指示为无效密码。

示例

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