Python中的SHA-512验证
如何检查一个sha-512哈希值是否有效?我写了以下代码:
def is_pwd(passwd):
result = re.findall(r'[a-f0-9]{128}', passwd)
if result:
print "Valid"
else:
print "NOT a Valid"
但是当我传入这个哈希值:
3c9909afec25354d551dae21590bb26e38d53f2173b8d3dc3eee4c047e7ab1c1eb8b85103e3be7ba613b31bb5c9c36214dc9f14a42fd7a2fdb84856bca5c44c2''''!@#
返回结果是 - 有效
谢谢。
1 个回答
1
如果你一定想用 regex
(正则表达式),那么你应该使用 re.match
方法:
def is_pwd(passwd):
result = None
try: result = re.match(r'^\w{128}$', passwd).group(0)
except: pass
return result is not None
这个方法会返回 True
,如果密码有效;如果密码无效,则返回 False
。
详细说明:
^
- 从字符串的开头开始检查\w{128}
- 检查是否恰好有128个字母数字字符(也就是字母和数字)$
- 确认字符串的结尾(也就是说,如果你有超过128个字母数字字符,它就会返回 False)