Python 中的密码验证


一般来说,密码需要适当复杂。在本文中,我们将讨论如何验证给定密码是否满足一定复杂性级别。我们将为此使用名为 re 的正则表达式模块。

示例 -1

首先,我们创建一个正则表达式,可以满足将其称为有效密码所需的条件。然后,我们使用 re 的 search 函数将给定密码与所需条件进行匹配。在以下示例中,复杂性要求是需要至少一个大写字母、一个数字和一个特殊字符。我们还需要密码长度在 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

更新于:2020-07-10

2K+ 浏览量

开启你的职业生涯

完成课程,获得认证

开始学习
广告
© . All rights reserved.