Я пытаюсь сделать процесс проверки для сброса пароля, то, что я использовал, - это два значения: время эпохи, и я хочу использовать старый пароль пользователей (pbkdf2) в качестве ключа,
Поскольку я не хочу получать символы без символов ASCII, я использовал библиотеку SimpleEncode, потому что это быстро, поскольку это только BASE64 с используемым ключом, но проблема в том, что пароль слишком длинный (196 символов), поэтому я получаю длинный ключ!
То, что я сделал, разбивает code = simpleencode.encode(key,asci)[::30]
результата code = simpleencode.encode(key,asci)[::30]
, но это не будет уникальным!
Чтобы понять, как это работает, я пробовал процесс сброса в Facebook, но то, что дается, - это число! так как этот процесс работает, разве они не используют ключ, чтобы затруднить кому-то создать ссылку для сброса пароля?
Обновление: как будет работать алгоритм:
1- получить время, используя epoche time.time()
2- генерируют Base64 времени эпохи (для использования для URL-адреса) и значение времени эпохи + ключ, этот ключ - PBKDF2 (пароль).
3- сгенерируйте URL-адрес www.example.com/reset/user/Base64 (time.time()) и отправьте этот URL + simpleencode.encode(key,asci)[::30]
4-, когда пользователь нажимает на URL-адрес, он ставит сгенерированный код, этот сгенерированный код, если он совпадает с URL-адресом, а затем пусть он модифицирует пароль, иначе это URL-адрес для забывания!