如何在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 中创建 UTF-8 JsonResponse