Проверка кода TOTP

Проверьте, действителен ли код TOTP для секрета Base32 в текущий или заданный момент, с настраиваемым окном ±шагов, как у реальных серверов 2FA.

Ключ, который сервис показывает при настройке 2FA. Пробелы и строчные буквы допустимы.

± шагов вокруг текущего; 1 = ±30 с при стандартном периоде.

Оставьте пустым, чтобы использовать текущее время.

Как и серверы, сначала проверяет текущий шаг, затем предыдущие и следующие в пределах допустимого отклонения. Настоящий сервер также должен отклонять уже использованный код.

Работает полностью в вашем браузере. Ваши данные никуда не загружаются.

Что такое Проверка кода TOTP?

Введите секрет и код, чтобы проверить, действителен ли код сейчас или в указанный вами момент, с тем же окном расхождения часов, что использует серверы аутентификации. Результат сообщает, какой временной шаг совпал, что помогает диагностировать проблемы с часами.

Как пользоваться Проверка кода TOTP

  1. Вставьте Секретный ключ (Base32).
  2. Введите Проверяемый код; при желании Время Unix (необязательно).
  3. Нажмите Проверить и прочитайте результат.

Пример

Ввод
Secret GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ, 8 digits, Unix time 89, code 94287082, drift 1
Вывод
Valid: the code matches time step -1 (clock drift).

Когда использовать Проверка кода TOTP

Используйте для отладки неудачных входов по 2FA, проверки окна расхождения вашей реализации или проверки кодов аппаратных токенов. Настоящий сервер дополнительно должен отклонять коды, которые уже использовались.

Как работает Проверка кода TOTP

Сначала проверяется текущий шаг T = floor(время / период), затем T−1, T+1, T−2 … до допустимого отклонения. Код каждого шага вычисляется через HMAC по RFC 4226/6238 и сравнивается с введённым. При совпадении сообщается смещение, например −1, если код из предыдущего 30-секундного окна.

Распространенные Случаи Использования

  • Диагностика неудачных входов по 2FA из-за расхождения часов
  • Тестирование окна приёма в реализации TOTP
  • Проверка кодов аппаратного токена
  • Обучение тому, как работает проверка TOTP

Часто Задаваемые Вопросы

Какое окно расхождения должен допускать сервер?

RFC 6238 рекомендует не более одного шага назад из-за сетевой задержки; многие серверы принимают ±1 шаг (±30 секунд).

Почему действительный код отклоняется после входа?

Серверы должны запоминать использованные коды и отклонять их повторно, чтобы предотвратить атаки повторного воспроизведения.

Можно ли здесь проверять коды HOTP?

Нет, используйте генератор HOTP и сравните коды для ожидаемых значений счётчика.

Другие категории