Алгоритм, при котором пароль изменяет сам пользователь. Сначала на почту отправляется письмо со ссылкой, содержащей токен. При переходе по ссылке, попадаем на страницу изменения пароля, на которой есть 2 поля ввода для пароля. При корректном вводе пароль изменяется.
Формируем следующим образом: base64(email) + key + md5(date('dmY')) + password Получая такой токен мы сможем изъять email с помощью обрезки строки до ключа и применения base64_decode. Затем получив пользователя по email мы сможем составить остаток токена для сверки. Если не совпадет пишем "Пароль уже был изменен или истекло время действия токена".