Перейти к содержанию

Генератор кодов TOTP

Генерируйте временные (TOTP) или счетчик-ориентированные (HOTP) одноразовые коды из общего секрета.

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

Генератор кодов TOTP

Вставьте общий секрет Base32 — тот же, который отображается как текст или скрыт внутри QR-кода при настройке двухфакторной аутентификации — и этот инструмент генерирует текущий шести-, семи- или восьмизначный одноразовый код, точно как приложение-аутентификатор. По умолчанию он соответствует RFC 6238 (TOTP, временной), с RFC 4226 (HOTP, на основе счетчика) доступным как переключение режима для сервисов, которые увеличивают счетчик вместо часов.

Вы также можете вставить полный URI otpauth:// вместо простого секрета. Это строки, которые приложения-аутентификаторы читают из QR-кода — otpauth://totp/Issuer:account?secret=…&algorithm=…&digits=…&period=… — и этот инструмент автоматически его анализирует, заполняя алгоритм, количество цифр и период из URI, поэтому вам не нужно вручную копировать каждое поле. Варианты алгоритма: SHA-1 (по умолчанию, который до сих пор используют почти все сервисы), SHA-256 и SHA-512; количество цифр — 6, 7 или 8; период по умолчанию составляет стандартные 30 секунд, но может быть изменен в соответствии с нестандартной настройкой.

Установите окно проверки выше нуля, чтобы также увидеть коды для шагов непосредственно перед и после текущего — полезно при отладке временного сдвига между сервером и клиентом, так как сервер, который принимает окно ±1 шага, будет проверять код, который ваше устройство показывает несколько секунд раньше или позже. В режиме HOTP то же самое окно показывает коды вокруг заданного значения счетчика вместо временного шага.

Все работает через Web Crypto API в вашем браузере: секрет читается из замаскированного поля, никогда не записывается в локальное хранилище и никогда не покидает ваше устройство, точно как приложение, которое оно заменяет. Скопируйте код, загрузите его как файл .txt или переместите на вход другого инструмента — нет ничего для загрузки и ничего для настройки на сервере.

FAQ

Какой формат секрета ожидается?
Секрет в кодировке Base32 — тот же формат, который используют приложения-аутентификаторы, обычно отображаемый как блок заглавных букв и цифр 2-7. Пробелы и дефисы в секрете игнорируются, поэтому его вставка группами по четыре подойдет.
Могу ли я использовать строку установки QR-кода напрямую?
Да. Вставьте полный URI otpauth://totp/… или otpauth://hotp/… в поле секрета, и алгоритм, количество цифр, период и счетчик будут автоматически прочитаны из URI, переопределяя элементы управления опциями ниже.
В чем разница между TOTP и HOTP?
TOTP получает код из текущего времени, поэтому он меняется каждый период (обычно 30 секунд). HOTP получает его из счетчика, который увеличивается на один при каждом использовании, поэтому код остается одним и тем же, пока вы не увеличите счетчик вручную.
Почему я должен использовать окно проверки?
Он также генерирует соседние коды, что позволяет серверу переносить небольшие смещения часов: если часы вашего устройства на несколько секунд впереди или позади, отображаемый код может соответствовать предыдущему или следующему шагу вместо текущего.
Мой секрет загружается куда-нибудь?
Нет. Секрет читается из замаскированного поля, вычисление HMAC полностью работает в вашем браузере через Web Crypto API, и ничего не отправляется на сервер и не сохраняется в локальном хранилище.