Для разработчиков / Аутентификация
Генератор кодов TOTP (проверка приложения-аутентификатора)
Создавайте одноразовые пароли на основе времени (TOTP) из секрета Base32. Доступны оставшееся время, следующий код, SHA-1/256/512, 6–8 цифр и QR-код для приложений-аутентификаторов — чтобы тестировать двухфакторный вход.
Генератор кодов TOTP (проверка приложения-аутентификатора): Код TOTP — это HMAC от числа 30-секундных периодов, прошедших с 1 January 1970, сокращённый до 6 цифр, как определено в RFC 6238. Приложения-аутентификаторы и серверы вычисляют один и тот же код по общему секрету и текущему времени. QR-код содержит адрес otpauth:// в формате, который распознают приложения-аутентификаторы. Расчёт проверяется по собственным тестовым значениям RFC. Работает на 100% локально в вашем браузере, файлы на сервер не загружаются.
- Категория
- Инструменты для разработчиков
- Запуски
- В вашем браузере
- Стоимость
- Бесплатно · без регистрации
- Доступность
- Готово к использованию
Полностью работает в браузере
Для тестирования собственного приложения или сервера. Не вставляйте секрет реального аккаунта сюда или куда-либо в интернете: любой, у кого он есть, сможет создавать ваши коды.
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.
Коды восстановления
Выдавайте пользователям одноразовые коды восстановления при включении двухфакторного входа, чтобы потеря телефона не лишила их доступа; храните только хеши кодов.
Как пользоваться
- Введите тестовый секрет Base32 или создайте случайный.
- Просмотрите текущий код и оставшееся число секунд; выберите количество цифр, период и алгоритм в соответствии с настройками сервера.
- Отсканируйте QR-код в приложении-аутентификаторе и проверьте, что оба показывают один и тот же код.
Конфиденциальность и ограничения
Секрет остаётся в вашем браузере. Используйте только тестовые секреты.
Похожие инструменты
Часто задаваемые вопросы
Почему мой код не совпадает с кодом в приложении?
Проверьте, что часы на устройстве показывают правильное время с расхождением не более нескольких секунд, а количество цифр, период и алгоритм совпадают. Большинство приложений используют 6 цифр, 30 секунд и SHA-1.
Безопасно ли использовать этот инструмент для настоящих аккаунтов?
Нет: секрет для двухфакторной аутентификации так же важен, как пароль. Эта страница предназначена для разработчиков, которые тестируют собственный вход в систему, используя секреты, созданные для тестирования.
В чём разница между TOTP и HOTP?
HOTP (RFC 4226) считает использования, а TOTP — время, поэтому коды TOTP истекают самостоятельно.
Бесплатный инструмент · запусков: в вашем браузере · аккаунт не нужен