使用哈希密码进行django身份验证或将其转换为plain

时间:2015-07-10 10:08:23

标签: python django authentication

假设我有用户的电子邮件

user = User.objects.get(email="anyone@anymail.com")

现在我要登录此用户,如:

user = authenticate(username=username, password=user.password)

验证不要使用哈希密码。但在这里我只能获得哈希密码。如何登录此用户可以说更改密码

谢谢

1 个答案:

答案 0 :(得分:3)

您无需登录用户即可更改密码。您可以使用Django的set_password()帮助程序功能来更改密码。

from django.contrib.auth.models import User

user = User.objects.get(email="anyone@anymail.com")
user.set_password('new_password')
user.save() # call save explicitly

根据文档,

  

set_password(raw_password)
  将用户的密码设置为给定的raw   字符串,负责密码哈希。不保存用户   对象