Для разработчиков / Аутентификация

Генератор кодов TOTP (проверка приложения-аутентификатора)

Создавайте одноразовые пароли на основе времени (TOTP) из секрета Base32. Доступны оставшееся время, следующий код, SHA-1/256/512, 6–8 цифр и QR-код для приложений-аутентификаторов — чтобы тестировать двухфакторный вход.

Генератор кодов TOTP (проверка приложения-аутентификатора): Код TOTP — это HMAC от числа 30-секундных периодов, прошедших с 1 January 1970, сокращённый до 6 цифр, как определено в RFC 6238. Приложения-аутентификаторы и серверы вычисляют один и тот же код по общему секрету и текущему времени. QR-код содержит адрес otpauth:// в формате, который распознают приложения-аутентификаторы. Расчёт проверяется по собственным тестовым значениям RFC. Работает на 100% локально в вашем браузере, файлы на сервер не загружаются.

Запуски
В вашем браузере
Стоимость
Бесплатно · без регистрации
Доступность
Готово к использованию
Генератор кодов TOTPЛокальная обработка

Полностью работает в браузере

Для тестирования собственного приложения или сервера. Не вставляйте секрет реального аккаунта сюда или куда-либо в интернете: любой, у кого он есть, сможет создавать ваши коды.

QR-код для приложения-аутентификатора
Готово к использованию

Отсканируйте его перед печатью.

Наведите камеру телефона на код на экране и убедитесь, что предлагается правильное действие.

Содержимое кода
otpauth://totp/Example%3Aalice%40example.com?secret=JBSWY3DPEHPK3PXP&issuer=Example&algorithm=SHA1&digits=6&period=30

Коды соответствуют RFC 6238 — стандарту, который используют Google Authenticator, Microsoft Authenticator и другие приложения: это HMAC числа периодов с 1970 года, усечённый до выбранного количества цифр. Часы на вашем устройстве должны идти с точностью до секунды.

Реализация TOTP на сервере

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

Чтобы протестировать часть OAuth в процессе входа, воспользуйтесь генератором PKCE.

Коды восстановления

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

Как пользоваться

  1. Введите тестовый секрет Base32 или создайте случайный.
  2. Просмотрите текущий код и оставшееся число секунд; выберите количество цифр, период и алгоритм в соответствии с настройками сервера.
  3. Отсканируйте QR-код в приложении-аутентификаторе и проверьте, что оба показывают один и тот же код.

Конфиденциальность и ограничения

Секрет остаётся в вашем браузере. Используйте только тестовые секреты.

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

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

Почему мой код не совпадает с кодом в приложении?

Проверьте, что часы на устройстве показывают правильное время с расхождением не более нескольких секунд, а количество цифр, период и алгоритм совпадают. Большинство приложений используют 6 цифр, 30 секунд и SHA-1.

Безопасно ли использовать этот инструмент для настоящих аккаунтов?

Нет: секрет для двухфакторной аутентификации так же важен, как пароль. Эта страница предназначена для разработчиков, которые тестируют собственный вход в систему, используя секреты, созданные для тестирования.

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

HOTP (RFC 4226) считает использования, а TOTP — время, поэтому коды TOTP истекают самостоятельно.

Бесплатный инструмент · запусков: в вашем браузере · аккаунт не нужен