我正在使用 Python 3.9.7 和 Django 3.2.7。
问题详情
以下代码用于验证提交的密码。
我可以确认提交的密码具有有效值并且user.password
是存储在数据库中的散列密码。
passwordCheckResult = check_password(request.POST.get("password"), user.password)
print(passwordCheckResult)
为什么它总是返回 False?
散列密码:pbkdf2_sha256$260000$Y0LeK0HJ90YPrj5lOijV20$oFRLMk
普通密码:123
到目前为止我搜索的内容
Django check_password() 总是返回 False 但这并不能解决我的问题。
下面的代码有效,但上面的代码无效。
hashed = make_password("123")
check_password("123", hashed) # This returns True
模型
class tblusers(models.Model):
user_id = BigAutoField(primary_key=True)
password = CharField(max_length=50, null=False)
created_at = DateTimeField(auto_now_add=True, blank=True)