Генератор TOTP

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

Бесплатно Работает в браузере Проверено вторник, 10 ноября 2026 г.

Этот инструмент работает в вашем браузере. То, что вы вводите, нам не отправляется.

Как пользоваться

  1. Введите секрет со страницы двухфакторного входа сервиса в поле Секрет или URI otpauth:// или вставьте текст otpauth://, который хранит его QR-код. Нажмите Показать, чтобы проверить введённое.
  2. Выберите Хеш, Цифры и Период, которые называет сервис. Многие сервисы используют значения по умолчанию формата Key URI: SHA-1, 6 цифр и 30 секунд.
  3. Для сервиса на счётчике выберите По счётчику (HOTP) и введите счётчик; Счётчик + 1 сдвигает его.
  4. Используйте Текущий код, пока не истекло Осталось времени, и сверьте Предыдущий и Следующий коды, если часы вашего устройства немного расходятся.

Как создаётся код

HOTP (RFC 4226) берёт ключ-секрет и счётчик, вычисляет HMAC от счётчика с нужным хешем и берёт от результата четыре байта (динамическое усечение). Число, которое дают эти байты, по модулю 10 в степени числа цифр и есть код.

TOTP (RFC 6238) — это HOTP со счётчиком, который строится из времени: Unix-время в секундах, делённое на период и округлённое вниз. Новый код начинается с каждым периодом, поэтому обеим сторонам нужны точные часы.

TOTP = HOTP(key, floor(unix time / period));   HOTP = truncate(HMAC(key, counter)) mod 10^digits

Секреты и URI otpauth://

Секрет — это текст Base32 (RFC 4648): буквы от A до Z и цифры от 2 до 7. Пробелы игнорируются, а дополнение можно не писать. Секрет с символом вне этого набора или с невозможной длиной отклоняется.

URI otpauth:// (Key URI Format от Google) хранит тип, метку, секрет и необязательные издателя, алгоритм, цифры, период и счётчик. Недостающие настройки берутся по умолчанию формата: SHA1, 6 цифр, 30 секунд и счётчик 0.

Как проверена страница

Код проверен на тестовых значениях RFC 4226, приложение D (счётчики от 0 до 9), и RFC 6238, приложение B (шесть проверок для SHA-1, SHA-256 и SHA-512 с восемью цифрами). HMAC вычисляет SubtleCrypto вашего браузера.

Пример: тестовый секрет RFC 6238

Тестовый секрет RFC — это текст 12345678901234567890, который в Base32 записывается как GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ. При Unix-времени 59 и периоде 30 секунд шаг 1 TOTP даёт восьмизначный код 94287082 для SHA-1.

С шестью цифрами тот же шаг даёт 287082, код счётчика 1 из RFC 4226; это последние шесть цифр восьмизначного значения.

Частые вопросы

Секрет или код отправляются на сервер?

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

Стоит ли вставлять сюда секрет моего настоящего аккаунта?

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

Почему код меняется каждые 30 секунд?

Код по времени (TOTP) использует число периодов с начала эпохи Unix, поэтому новый код начинается с каждым периодом. Обратный отсчёт показывает, сколько ещё действует текущий код.

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

Проверьте секрет (только Base32), хеш, цифры и период, которые называет сервис, а затем убедитесь, что часы вашего устройства верны, потому что код по времени от них зависит. Предыдущий и следующий коды помогают увидеть небольшое расхождение часов.

Какой хеш выбрать?

Тот, который указывает сервис. SHA-1 — значение по умолчанию для HOTP из RFC 4226 и для формата otpauth; RFC 6238 допускает для TOTP и SHA-256, и SHA-512.

В чём разница между TOTP и HOTP?

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

Что делает текст otpauth://?

Он переносит настройки двухфакторного ключа в формате Key URI, обычно внутри QR-кода. Вставка его сюда заполняет секрет, хеш, цифры, период и счётчик.

Источники

Цифры и текст в последний раз проверены вторник, 10 ноября 2026 г..

Мы используем необходимые cookie, чтобы сайт работал. С вашего согласия Google также использует рекламные cookie, чтобы показывать персонализированную рекламу. Если вы откажетесь, реклама всё равно будет показываться, но не будет персонализированной.