我正在创建一个python api,如果在数据库中找到电子邮件和密码但密码经过哈希处理,它将从mysql数据库返回数据,他们有什么方法可以对从api输入的密码进行哈希处理以将其与mysql 密码。
我正在使用 django.contrib.auth 创建新用户,该用户会在包含哈希密码的数据库中自动创建表 auth_user。
我知道一种解决方案是将未加密的密码存储在另一个表中,但是可以在不创建另一个密码字段的情况下完成吗?
我搜索了很多,但找不到任何解决方案。
最佳答案
您可以使用authenticate
。不需要自己对密码进行哈希处理,Django 已经这样做了。您只需将用户名和密码传递给身份验证函数,它就会返回相应的 User 对象。
def my_view(request):
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, username=username, password=password)
关于python - 如何从 auth_user django python 中选择给定用户名和哈希密码的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46023524/