繁体   English   中英

为什么我在 django 中收到“无效盐”?

[英]Why am I getting "Invalid salt" in django?

我在 django 中编写了注册和登录代码。 在登录时,我收到错误“无效的盐”

以下是代码:

@api_view(['POST'])
def login(request):
    email = request.data.get('email')
    mobile_number = request.data.get('mobile_number')
    pin = request.data.get('pin')

    res = dict()
    print(dict, "dictonaryyyyyy")

    if email != None:
        email_result = Users.objects.filter(email= email).first()
        print(email_result.pin, "emaillll")
        if email_result != None:
            if bcrypt.checkpw(pin.encode("utf-8"), email_result.pin.encode('utf-8')):
            # if bcrypt.checkpw(pin, )
                print("........")
                payload_data = dict()
                payload_data['email'] = email_result.email
                
                token = generate_token(payload_data)
                print(token, "token.........")

                res['messages'] = "Authentication Successful"
                res['status'] = 200,
                res['token'] = token

                return Response(res, status = status.HTTP_200_OK)
            
           ...
...

如何摆脱这个错误?

它得到了解决,哈希密码在注册时被保存为二进制而不是字符串。

要将其转换为字符串,需要在创建 object 时对引脚进行解码。 pin = pin.decode('utf-8'),

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM