Генератор TOTP-кодов (2FA)

Сгенерируйте временный проверочный код (TOTP, соответствует RFC 6238) из секрета в Base32, который выдал сервис при включении двухфакторной аутентификации, с обратным отсчётом до обновления. Введённый секрет и вычисления остаются целиком в вашем браузере — ничего не передаётся на сервер.

Пример:
Секрет, выданный при сканировании QR-кода (часто отображается текстом под ним).

Как это работает

TOTP (Time-based One-Time Password) — механизм, который используют большинство приложений двухфакторной аутентификации (Google Authenticator, Authy и др.): на основе общего секрета и текущего времени, разбитого на фиксированные периоды (по умолчанию 30 секунд), регулярно пересчитывается цифровой код в соответствии с RFC 6238. Этот код автоматически обновляется каждые 30 секунд.

Безопасно ли вставлять сюда свой секрет 2FA?

Вычисления выполняются целиком в вашем браузере, без каких-либо сетевых запросов: ваш секрет никогда не покидает устройство. Тем не менее секрет TOTP — конфиденциальная информация, равноценная паролю: не оставляйте его на экране и не передавайте другим, а для повседневного использования лучше выбрать менеджер паролей или специальное приложение-аутентификатор, а не веб-инструмент вроде этого, предназначенный для отладки или разового использования.

Почему мой код не совпадает с кодом в приложении?

Чаще всего причина в расхождении часов на вашем устройстве: TOTP жёстко зависит от системного времени. Проверьте также, что количество цифр и период совпадают с настройками сервиса (в подавляющем большинстве случаев это 6 цифр и 30 секунд).

Конфиденциальность: секрет и вычисление кода остаются 100% локально в вашем браузере (WebAssembly) — ничего не отправляется на сервер, даже временно.