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

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

> Каноническая страница: https://elysiatools.com/ru/tools/totp-hotp-offline-generator

- **Категория:** Security

- **Ключевые слова:** totp, hotp, otp, 2fa, аутентификатор

## Обзор

Введите 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 (без паддинга); пробелы игнорируются.

## Входные данные

- **Общий секрет (base32)** (text): JBSWY3DPEHPK3PXP (A–Z, 2–7; spaces ignored)
- **Режим** (select)
- **Алгоритм HMAC** (select)
- **Цифр** (select)
- **Шаг времени (сек)** (select)
- **Счётчик (HOTP)** (number): e.g. 0
- **Показать следующие N кодов** (number)
- **Эмитент (для otpauth URI)** (text): e.g. Acme Corp
- **Метка аккаунта** (text): e.g. alice@example.com

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

## Связанные инструменты

- [Генератор PKCE Code Verifier и Challenge](https://elysiatools.com/ru/tools/pkce-code-verifier-generator): Создание, проверка и верификация пар code_verifier / code_challenge PKCE (RFC 7636) для OAuth2 / OIDC. Три режима: (1) создать новую пару из криптостойких случайных байт (256/384/512/768 бит), (2) аудит имеющегося verifier по RFC — длина (43–128), набор \[A-Za-z0-9-._~\] и ≥256 бит энтропии, (3) проверить пару, пересчитав BASE64URL(SHA256(verifier)). При желании строит полный URL запроса авторизации и тело обмена токена. Дополняет универсальный nonce-generator (только выдаёт пару) аудитом соответствия RFC и проверкой пар.
- [Генератор мнемонических фраз BIP39](https://elysiatools.com/ru/tools/mnemonic-bip39-generator): Генерирует или проверяет BIP39-фразы из 12-24 слов с выводом энтропии и seed PBKDF2-HMAC-SHA512
- [Пакетный генератор кодов](https://elysiatools.com/ru/tools/barcode-batch-generator): Пакетно создает Code 128, EAN-13, UPC-A, ITF-14, QR Code и Data Matrix из CSV или многострочного текста с экспортом в PNG ZIP или PDF
- [Генератор Bcrypt](https://elysiatools.com/ru/tools/bcrypt-generator): Генерировать bcrypt-хэш из пароля
- [Генератор Geohash](https://elysiatools.com/ru/tools/geohash-generator): Генерировать geohash из координат широты и долготы
- [Генератор и верификатор HMAC](https://elysiatools.com/ru/tools/hmac-generator-verifier): Вычисляет HMAC-подпись сообщения + общего секрета на SHA-1/SHA-2/SHA-3/BLAKE2 или проверяет входящую подпись (сравнение за постоянное время) с пресетами Stripe / Slack / GitHub
- [Генератор Markdown-таблиц](https://elysiatools.com/ru/tools/markdown-table-generator): Создает форматированные Markdown-таблицы из CSV, JSON или массивов с настройкой выравнивания, стиля заголовков, ширины столбцов и подсказок по объединению
- [Шифрование / Расшифрование RSA](https://elysiatools.com/ru/tools/rsa-encrypt-decrypt): Шифрует текст открытым ключом RSA или расшифровывает шифртекст соответствующим закрытым ключом, с OAEP-паддингом (SHA-1 или SHA-256). Длинные сообщения бьются на блоки. Ключи и данные обрабатываются локально. PKCS#1 v1.5 не предлагается (Node отключает его для расшифровки из-за атак Bleichenbacher).

## Примеры

- [Примеры QR-кодов](https://elysiatools.com/ru/samples/qrcode-samples): Примерные изображения QR-кодов для тестирования инструментов чтения и генерации QR-кодов
- [Примеры Комментариев Кода](https://elysiatools.com/ru/samples/code-comment-samples): Примеры кода с различными стилями комментариев для тестирования удаления комментариев
- [Примеры Обработки Изображений Web Python](https://elysiatools.com/ru/samples/web-image-processing-python): Примеры обработки изображений Web Python используя PIL/Pillow включая чтение, сохранение, изменение размера и преобразование формата
- [Примеры Кода с Недопустимыми Именами Переменных](https://elysiatools.com/ru/samples/code-invalid-variable-names-samples): Примеры кодовых файлов, демонстрирующие недопустимые соглашения об именовании переменных на различных языках программирования

## Связанные материалы

- [Инструменты для токенов, сессий и 2FA](https://elysiatools.com/ru/hubs/token-session-and-2fa-workflows): Отлаживайте реальные сценарии входа с генераторами PKCE и nonce, разбором JWT и JWK, проверкой HMAC, тестами OTP и TOTP и удобными для auth идентификаторами в одном сфокусированном hub.
- [Инструменты кодирования и конвертации аудио](https://elysiatools.com/ru/hubs/audio-convert): Сравните инструменты конвертации аудиоформатов, изменения битрейта, частоты дискретизации, смены кодека и экспорта в одном хабе.
- [Инструменты конвертации форматов изображений и анимированного экспорта](https://elysiatools.com/ru/hubs/image-convert): Сравните конвертеры JPG, PNG, GIF, AVIF, WebP, TIFF, ICO, base64 и инструменты экспорта анимированных изображений в одном хабе.
- [Инструменты JSON-обмена и перевода форматов](https://elysiatools.com/ru/hubs/json-convert): Сравните инструменты преобразования JSON для CSV, YAML, TOML, GraphQL, XML, Markdown, Excel, BSON, EDN и других структурированных форматов в одном хабе.
