Автономный генератор кодов TOTP / HOTP

Генерирует одноразовые пароли TOTP RFC 6238 (6/8 цифр, 30/60 с) и HOTP RFC 4226 (по счётчику) из base32-секрета, локально, с HMAC-SHA1/256/512, и формирует otpauth:// URI

Введите base32-секрет (как рядом с QR-кодом в Google Authenticator / Authy), и инструмент посчитает одноразовые пароли локально — ничего не отправляется на сервер.

Поддерживается:

  • TOTP (RFC 6238): коды по текущему UNIX-времени и шагу (30 или 60 с). То, что Google Authenticator показывает для большинства 2FA-аккаунтов.
  • HOTP (RFC 4226): коды по общему счётчику.
  • Алгоритмы HMAC: SHA-1 (по умолчанию RFC), SHA-256, SHA-512.
  • 6 (по умолчанию) или 8 цифр.
  • «Показать следующие N кодов» — превью следующих окон TOTP или счётчиков HOTP.
  • Экспорт URI otpauth:// (с опциональными эмитентом и меткой) для повторного импорта в любое приложение.

Особенности реализации:

  • HOTP использует стандартное динамическое усечение: HMAC 8-байтового счётчика (big-endian), младшие 4 бита последнего байта — смещение, чтение 31-битного целого, затем mod 10^цифр.
  • TOTP — это HOTP со счётчиком = floor(unixTime / шаг).
  • Декодирование секрета — base32 RFC 4648 (без паддинга); пробелы игнорируются.

Примеры результатов

1 Примеры

Сгенерировать текущий 6-значный TOTP

Классическая тестовая.seed JBSWY3DPEHPK3PXP (SHA-1, 6 цифр, 30 с).

Shows the current TOTP code, countdown ring, next 5 windows, and an otpauth:// URI.
Показать параметры ввода
{ "secret": "JBSWY3DPEHPK3PXP", "mode": "totp", "algorithm": "sha1", "digits": 6, "period": 30, "counter": 0, "preview": 5, "issuer": "Acme", "account": "[email protected]" }

Ключевые факты

Категория
Безопасность и валидация
Типы входных данных
text, select, number
Тип результата
html
Покрытие примерами
4
API доступен
Yes

Обзор

Этот автономный инструмент позволяет безопасно генерировать одноразовые пароли TOTP (RFC 6238) и HOTP (RFC 4226) на основе секретного ключа Base32 прямо в браузере. Все вычисления выполняются локально без отправки данных на сервер, поддерживая алгоритмы HMAC-SHA1, SHA-256, SHA-512 и экспорт в формат otpauth:// для импорта в приложения аутентификации.

Когда использовать

  • Необходимость проверить правильность генерации кодов двухфакторной аутентификации (2FA) без использования мобильного телефона.
  • Восстановление или перенос учетной записи 2FA на другое устройство с помощью генерации ссылки otpauth:// из исходного секрета Base32.
  • Отладка и тестирование систем авторизации, использующих одноразовые пароли по времени или счетчику, с возможностью просмотра будущих кодов.

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

  • Пользователь вводит секретный ключ в формате Base32, который автоматически очищается от пробелов и декодируется по стандарту RFC 4648.
  • Инструмент вычисляет HMAC-хэш (SHA-1, SHA-256 или SHA-512) от текущего UNIX-времени (для TOTP) или значения счетчика (для HOTP).
  • Полученный хэш усекается по стандартному алгоритму динамического смещения для получения 6- или 8-значного числового кода.
  • Результат отображается на экране вместе с таймером обратного отсчета, списком будущих кодов и готовой ссылкой otpauth:// для импорта.

Сценарии использования

Резервное копирование секретных ключей 2FA и проверка их работоспособности перед сохранением в надежном месте.
Разработка и тестирование серверной части двухфакторной аутентификации с проверкой кодов для разных временных окон.
Создание конфигурационных ссылок otpauth:// для быстрого распределения корпоративных учетных записей среди сотрудников.

Примеры

1. Проверка стандартного 2FA-кода (TOTP)

Системный администратор
Контекст
Администратору необходимо убедиться, что сохраненный резервный ключ Base32 генерирует те же коды, что и мобильное приложение Google Authenticator.
Проблема
Нужно быстро получить текущий 6-значный код по времени без сканирования QR-кода телефоном.
Как использовать
Вставьте секретный ключ в поле ввода, выберите режим TOTP, алгоритм SHA-1 и шаг 30 секунд.
Пример конфигурации
secret: JBSWY3DPEHPK3PXP, mode: totp, algorithm: sha1, digits: 6, period: 30
Результат
Инструмент мгновенно отображает текущий 6-значный код и таймер его действия, совпадающий с кодом в приложении.

2. Генерация ссылки импорта для HOTP по счетчику

Разработчик систем безопасности
Контекст
Разработчик настраивает аппаратные токены, работающие по алгоритму HOTP со счетчиком, и хочет подготовить ссылку для импорта в клиентское ПО.
Проблема
Требуется сформировать корректный URI otpauth:// с указанием эмитента и имени аккаунта для HOTP.
Как использовать
Введите секрет, переключите режим на HOTP, укажите начальное значение счетчика, заполните поля 'Эмитент' и 'Метка аккаунта'.
Пример конфигурации
secret: MZXW6YTBOI, mode: hotp, counter: 42, issuer: SecureCorp, account: [email protected]
Результат
Сгенерирована ссылка otpauth://hotp/SecureCorp:[email protected]?secret=MZXW6YTBOI&counter=42&issuer=SecureCorp, готовая для импорта.

Проверить на примерах

hash

Связанные хабы

FAQ

Безопасно ли вводить секретный ключ на этой странице?

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

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

TOTP генерирует коды на основе текущего времени (обычно меняются каждые 30 или 60 секунд), а HOTP использует увеличивающийся счетчик событий.

Какие алгоритмы хэширования поддерживаются?

Поддерживаются алгоритмы HMAC-SHA1 (стандарт по умолчанию), HMAC-SHA256 и HMAC-SHA512.

Как импортировать сгенерированный код в Google Authenticator?

Скопируйте сгенерированную ссылку otpauth:// или преобразуйте ее в QR-код для сканирования приложением.

Что делать, если секретный ключ содержит пробелы?

Инструмент автоматически игнорирует любые пробелы при декодировании секрета Base32.

Документация API

Конечная точка запроса

POST /ru/api/tools/totp-hotp-offline-generator

Параметры запроса

Имя параметра Тип Обязательно Описание
secret text Да -
mode select Нет -
algorithm select Нет -
digits select Нет -
period select Нет -
counter number Нет -
preview number Нет -
issuer text Нет -
account text Нет -

Формат ответа

{
  "result": "
Processed HTML content
", "error": "Error message (optional)", "message": "Notification message (optional)", "metadata": { "key": "value" } }
HTML: HTML

Документация MCP

Добавьте этот инструмент к конфигурации сервера MCP:

{
  "mcpServers": {
    "elysiatools-totp-hotp-offline-generator": {
      "name": "totp-hotp-offline-generator",
      "description": "Генерирует одноразовые пароли TOTP RFC 6238 (6/8 цифр, 30/60 с) и HOTP RFC 4226 (по счётчику) из base32-секрета, локально, с HMAC-SHA1/256/512, и формирует otpauth:// URI",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=totp-hotp-offline-generator",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Вы можете объединять несколько инструментов, например: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, максимум 20 инструментов.

Если вы столкнулись с проблемами, пожалуйста, свяжитесь с нами по адресу [email protected]