2016-06-18 15 views
0

Wenn ich nach dem Fehler gesucht habe, zeigen alle Antworten auf .encode ('utf-8'). Ich habe das zu meinem Code hinzugefügt und bekomme immer noch denselben Fehler. Hier ist mein CodeDie Verwendung von .encode ('utf-8') und immer noch ein Unicode-Objekt muss vor dem Hashing-Fehler codiert werden

def login(request): 
    password=request.POST['password'] 
    email=request.POST['email'] 

    try: 
     d2 = Register.objects.latest('created_at') 
     registered = Register.objects.get(email = email) 
    except: 
     return HttpResponse(Register.userManager.not_found_email()) 

    pw_bytes = password.encode('utf-8') 
    hashed = bcrypt.hashpw(pw_bytes, registered.salt) 
    print hashed 

    if hashed: 
     print hashed 
     print registered.password 
     return HttpResponse(Register.userManager.incorrect_password()) 

    return render(request, 'validation_app/success.html') 

registered.salt wird bcrypt.gensalt() gespeichert zu meinem db

Antwort

2

Sobald Sie Bytes in ein Textfeld in der Datenbank speichern sie werden Text, so müssen Sie codieren dein Salz auch.