Was ist der beste Weg, um ein Reset-Token in Python zu generieren?

Ich versuche, einen Überprüfungsprozess für ein Zurücksetzen des Passworts durchzuführen. Ich habe zwei Werte verwendet: die Epochenzeit und ich möchte das alte Passwort des Benutzers (pbkdf2) als Schlüssel verwenden.

Da ich keine Nicht-ASCII-Zeichen erhalten möchte, habe ich verwendetSimpleEncode-Bibliothek weil es schnell ist, da nur ein BASE64 mit einem Schlüssel verwendet wird, aber das Problem ist, dass das Passwort zu lang ist (196 Zeichen), sodass ich einen langen Schlüssel bekomme!

Was ich getan habe, ist das Ergebnis aufzuteilencode = simpleencode.encode(key,asci)[::30], aber das wird nicht einzigartig sein!

Um eine Vorstellung davon zu bekommen, wie es funktioniert, habe ich versucht, Facebook zurückzusetzen, aber es wird eine Zahl angegeben! Also, wie dieser Prozess funktioniert, verwenden sie keinen Schlüssel, um es für jemanden schwierig zu machen, einen Link zum Zurücksetzen des Passworts zu fälschen?

Update: wie der Algorithmus funktioniert:

1- Holen Sie sich die Zeit mit Epochetime.time()

2- Erzeugen Sie die Base64 der Epochenzeit (zur Verwendung für die URL) und den Epochenzeitwert + einen Schlüssel, dieser Schlüssel ist PBKDF2 (Passwort).

3- Erstellen Sie die URL www.example.com/reset/user/Base64 (time.time ()) und senden Sie diese URL + diesimpleencode.encode(key,asci)[::30]

4- Wenn der Benutzer auf die URL klickt, gibt er den generierten Code ein, diesen generierten Code, falls er mit der URL übereinstimmt, und lässt ihn das Passwort ändern, ansonsten handelt es sich um eine vergessene URL!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage