如何在django rest框架中创建加密密码[重复]

Posted

技术标签:

【中文标题】如何在django rest框架中创建加密密码[重复]【英文标题】:How to create encrypted password in django rest framework [duplicate] 【发布时间】:2020-04-25 16:16:16 【问题描述】:

使用 django rest 框架创建用户,如何加密用户密码。需要帮助。 这是我的看法

class UserCreateAPIView(generics.CreateAPIView):

def post(self, request):
    serializer = UserSerializer(data=request.data)
    if serializer.is_valid():
        User(
            serializer.save()
        )
        return Response("status":"sucess", "code":status.HTTP_201_CREATED, "details":serializer.data)
    return Response("status":"unsuccessful", "code":status.HTTP_400_BAD_REQUEST, "detsils":serializer.errors)

【问题讨论】:

创建加密密码是什么意思?您是否尝试创建用户并将加密密码保存在数据库中?如果是,您应该看到:***.com/questions/43031323/…。如果你使用,Userserializer django 会加密保存你的密码,你不用担心。 你可以关注这个答案***.com/a/29391122 【参考方案1】:

Django 使用 make_password 方法提供默认密码散列技术

from django.contrib.auth.hashers import make_password


print("your hashing password is  ", make_password(your password))

您可以选择不同的密码散列技术,如 md5、sha2 等。

PASSWORD_HASHERS = (
    'myproject.hashers.MyPBKDF2PasswordHasher',
    'django.contrib.auth.hashers.PBKDF2PasswordHasher',
    'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
    'django.contrib.auth.hashers.BCryptSHA256PasswordHasher',
    'django.contrib.auth.hashers.BCryptPasswordHasher',
    'django.contrib.auth.hashers.SHA1PasswordHasher',
    'django.contrib.auth.hashers.MD5PasswordHasher',
    'django.contrib.auth.hashers.CryptPasswordHasher',
)

配置你的 settings.py

【讨论】:

我没有用喜欢这个方法,还是谢谢你的帮助

以上是关于如何在django rest框架中创建加密密码[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 TemplateHTMLRenderer 在 Django-REST-Framework 中创建/放置?

如何使用 REST API 在 Keycloak 中创建具有密码的用户?

如何在模型 Django 中创建密码字段

在 Django 中创建 UTF-8 JsonResponse

电子邮件验证和密码重置 - django rest 框架和 angularjs

Django/Django Rest 框架 - 禁用 CSRF