如何以django将用户密码存储为pbkdf2_sha256格式?

问题描述

我正在实现自定义寄存器序列化器。顺便说一句,密码是在管理页面上加密的,因此它与pbkdf2_sha256不同。像这样

!eWf3UsvTHU4dJ4F.....

我想使用pbkdf2_sha256算法代替此方法来获取用户密码。我该怎么办?这是我的代码。

class customRegisterSerializer (serializers.Serializer) :
    email = serializers.EmailField(required=allauth_settings.EMAIL_REQUIRED)
    password = serializers.CharField(required=True,write_only=True)
    user_Name = serializers.CharField(required=True)
    profile = serializers.ImageField(use_url=True)

    def validate_email(self,email):
        email = get_adapter().clean_email(email)
        if allauth_settings.UNIQUE_EMAIL:
            if email and email_address_exists(email):
                raise serializers.ValidationError(
                    _("A user is already registered with this e-mail address."))
        return email

    def validate_password (self,password: str) -> str:
        return get_adapter().clean_password(password)

    def get_cleaned_data(self):
        return {
            'email': self.validated_data.get('email',''),'password': self.validated_data.get('password','userName': self.validated_data.get('userName','profile' : self.validated_data.get('profile',}

    def save(self,request):
        adapter = get_adapter()
        user = adapter.new_user(request)
        self.cleaned_data = self.get_cleaned_data()
        adapter.save_user(request,user,self)
        setup_user_email(request,[])
        return user

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)