我有此更改密码请求表。用户在其中输入旧密码。
这个旧密码是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"
默认情况下,django(可能还有许多其他)存储的哈希值中会添加一个咸的sha1 hexdigest。
验证它的代码在contrib / auth / models.py中。从那里您可以看到django默认情况下可与md5一起使用。您要做的就是将旧的哈希更新为以下形式:
md5$<salt>$<hash>
如果您的哈希没有加盐,则将盐留为空白(md5$$<hash>),但在用户下次执行有效登录时将哈希更新为sha1。
md5$$<hash>