Python上的SHA-512验证

时间:2014-04-03 10:38:09

标签: python regex hash

如何检查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 '' ''!@#

返回 - 有效

THX。

1 个答案:

答案 0 :(得分:0)

如果您肯定想使用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个alphanums,它将返回False)