Я хотел бы реализовать какую-то функцию сброса пароля для тех пользователей, которые забыли свой пароль (по сути 4-значный пин-код) для приложения для iPhone, которое я пишу, но я не хочу, чтобы это было возможно для каких-либо Пользователь просто отключить его. Я думаю о том, чтобы поставить какую-то проверку на место, и хочу знать, что такое лучший метод для такого рода вещей.
Я планирую что-то вроде этого:
- Пользователь связывается со мной, чтобы сказать, что он забыл свой пароль
- Я отправляю им по электронной почте код или последовательность кодов для ввода на экран пароля
- Приложение генерирует число на основе какого-то секретного алгоритма, и пользователь отправляет его мне
- Я отправляю им другой код (сгенерированный алгоритмом сопоставления), который они вводят для удаления пароля
Думаю, это позволит мне разрешить пользователям сбрасывать пароль только в том случае, если они связывались со мной, и я подтвердил, кто они. Это также должно помешать пользователю использовать этот код для разблокировки другого телефона с тем же приложением на нем.
Это кажется хорошей идеей? Существуют ли какие-либо подходящие алгоритмы / библиотеки хеширования для генерации такого типа двухэтапного кода проверки (предпочтительно, цель С)? Есть ли лучшие подходы к такого рода вещам?
Любая помощь или совет будет принята с благодарностью.