Tools100% локально
← Все инструменты

Генератор TOTP и HOTP

RFC 6238 / 4226 · работает полностью в вашем браузере

Вставьте секрет Base32 — или целый URI otpauth:// — и наблюдайте, как шести-, семи- или восьмизначный код прокручивается в реальном времени. Выберите HMAC-SHA1, SHA-256 или SHA-512, переключитесь на 60-секундное окно или перейдите в режим счётчика HOTP для 2FA на основе счётчика. Ваш секрет никогда не покидает страницу.
Алгоритм
Разрядов
Период
SHA-1 · 6 digits · 30 swaiting
Предыдущий——————
Следующий——————
Нажмите, чтобы скопировать
Следующий код через
Счётчик
Unix-время
↗ Показать как QR для приложения

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

TOTP (Time-based One-Time Password, RFC 6238) и HOTP (HMAC-based, RFC 4226) оба вычисляют код, подписывая счётчик с помощью HMAC общим секретом и затем усекая результат до запрашиваемого числа разрядов. Для TOTP счётчик равен floor(unixTime / period); для HOTP счётчик предоставляется приложением и инкрементируется при каждом успешном использовании.

Эта страница реализует оба стандарта со всем набором опций, важных для реальных развёртываний: HMAC-SHA1 (по умолчанию для совместимости с устаревшими системами), SHA-256 и SHA-512; 6, 7 или 8-значные коды; окна 30 или 60 секунд для TOTP; и явный ввод счётчика для HOTP. Вычисление HMAC выполняется на нативном Web Crypto API браузера, поэтому секрет никогда не пересекает границу сети.

Импорт otpauth://

Вставьте URI otpauth://totp/... или otpauth://hotp/... в поле Секрет, и все опции автоматически заполнятся из его параметров — алгоритм, разряды, период, счётчик, секрет. Это тот же формат URI, который генерируется QR-кодами на экранах настройки Google Authenticator, поэтому вы можете скопировать вставленный URI прямо из электронного письма или страницы настройки 2FA и проверить, что он сделает, перед импортом.

В обратную сторону кнопка Показать как QR передаёт текущую конфигурацию QR-генератору, чтобы вы могли отсканировать её в аутентификатор телефона без перепечатки.

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

Конфиденциальность

Ваш секрет обрабатывается только в вашем браузере и никогда не передаётся, не логируется и не сохраняется. Нет аналитического скрипта, cookie, телеметрии. Полный исходный код страницы — обычные HTML и JavaScript — правый клик и просмотр кода, если хотите проверить перед вставкой чего-то чувствительного.