Генератор кода 2FA (TOTP)

Создавайте одноразовые коды по времени локально, на основе собственного ключа Base32.

Расчёты выполняются локально; введённые данные не отправляются на сервер.

Пример

С открытым тестовым ключом из RFC шестизначный код SHA-1 на 59-й секунде равен 287082 и остаётся 287082 до 59.999 секунды, а на 60-й секунде становится 359152.

Метод расчёта

Генератор следует стандарту TOTP, RFC 6238: он делит текущее время Unix на выбранный период, соединяет полученный счётчик с вашим ключом через HMAC и превращает результат в 6 или 8 цифр. Любой, у кого тот же ключ, те же настройки и верное время, получит тот же код.

Важные замечания

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

Практическое руководство

Приложения-аутентификаторы каждые 30 секунд создают код TOTP (RFC 6238) из общего секретного ключа и текущего времени. Вводите ключ Base32 так, как его выдал сервис; изображения QR, SMS-коды и ссылки otpauth не принимаются. Обычно используются SHA-1, 6 цифр и 30 секунд: с публичным тестовым ключом из RFC на 59-й секунде код 287082, при 8 цифрах — 94287082, с SHA-256 — 46119246. Ведущие нули важны (081804). Ключ не сохраняется и не отправляется, страница не загружает рекламу и аналитику.

Практические примеры
ВводРезультат
RFC key · SHA-1 · 6 digits · 30 s · at 59 s287082
RFC key · SHA-1 · 6 digits · 30 s · at 59.999 s287082
RFC key · SHA-1 · 6 digits · 30 s · at 60 s359152
RFC key · SHA-1 · 6 digits · 30 s · at 1111111109 s081804
RFC key · SHA-1 · 8 digits · at 59 s94287082
RFC key · SHA-256 · 8 digits · at 59 s46119246
RFC key · SHA-512 · 8 digits · at 59 s90693936

Часто задаваемые вопросы

Код не принимают — что проверить?

Сначала настройки: большинство служб используют SHA-1, 6 цифр и 30 секунд, и любое расхождение даёт коды, которые выглядят правильными, но не подходят. Тот же ключ и тот же момент дают 94287082 при 8 цифрах, 46119246 с SHA-256 и 90693936 с SHA-512. Затем включите автоматическое время на устройстве и возьмите свежий код.

Какие форматы ключа принимаются?

Введите ключ Base32 ровно так, как его выдала служба: пробелы и строчные буквы допустимы, а изображение QR-кода, код из SMS или ссылка otpauth — нет. Никогда не передавайте свой секрет и помните, что скопированный код попадает в буфер обмена устройства.

Делает ли это резервную копию или восстановление аккаунтов?

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

Похожие инструменты