一尘不染

Python md5密码值

python

我有此更改密码请求表。用户在其中输入旧密码。

这个旧密码是md5格式。

如何将db中的md5值与用户输入的旧密码进行比较

 import md5

 oldpasswd_byuser=str("tom")
 oldpasswd_db="sha1$c60da$1835a9c3ccb1cc436ccaa577679b5d0321234c6f"
 opw=     md5.new(oldpasswd_byuser)
 #opw=     md5.new(oldpasswd_byuser).hexdigest()
 if(opw ==      oldpasswd_db):
    print "same password"
 else:
     print "Invalid password"

阅读 133

收藏
2021-01-20

共1个答案

一尘不染

默认情况下,django(可能还有许多其他)存储的哈希值中会添加一个咸的sha1 hexdigest。

验证它的代码在contrib / auth /
models.py中
。从那里您可以看到django默认情况下可与md5一起使用。您要做的就是将旧的哈希更新为以下形式:

md5$<salt>$<hash>

如果您的哈希没有加盐,则将盐留为空白(md5$$<hash>),但在用户下次执行有效登录时将哈希更新为sha1。

2021-01-20