Python中的SHA-512验证

3 投票
1 回答
3778 浏览
提问于 2025-04-18 01:08

如何检查一个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

详细说明:

  1. ^ - 从字符串的开头开始检查
  2. \w{128} - 检查是否恰好有128个字母数字字符(也就是字母和数字)
  3. $ - 确认字符串的结尾(也就是说,如果你有超过128个字母数字字符,它就会返回 False)

撰写回答