0

Генератор TOTP-кодів — живий 2FA-автентифікатор

Вставте Base32-секрет TOTP і дивіться, як справжній 6-значний код автентифікатора оновлюється щохвилини — повністю офлайн у браузері.

- -

30 Секунди

Опрацювання... 0%

Результат

Цей тул генерує справжні, стандартні коди Time-based One-Time Password (TOTP) із Base32-секрету — ті самі шестизначні коди, що обертаються в застосунках на кшталт Google Authenticator чи Authy. Вставте секрет, який ви отримали під час налаштування двофакторної автентифікації — той самий рядок, зазвичай прихований за QR-кодом — і дивіться, як живий код відлічує час і оновлюється кожні 30 секунд, точнісінько як у застосунку на телефоні. Тул призначений для тестування й перевірки 2FA-секретів, якими ви володієте або якими маєте право керувати: налагодження власного флоу входу, перевірка резервного коду перед тим, як позбутися QR підключення, або звірка, чи секрет введено правильно.

Під капотом це справжня реалізація RFC 6238 (TOTP), побудована на RFC 4226 (HOTP), а не косметичний зворотний відлік. Base32-секрет декодується за RFC 4648 у сирі байти ключа, поточний Unix-час ділиться на часовий крок, щоб отримати рухомий лічильник, а цей лічильник кодується як 8-байтовий буфер у порядку big-endian. Нативний Web Crypto API браузера (crypto.subtle) обчислює HMAC над цим буфером з обраним хешем — SHA-1 лишається майже універсальним стандартом для сумісності з наявними застосунками-автентифікаторами, тоді як SHA-256 і SHA-512 доступні для налаштувань, що підтримують сильніші варіанти. Динамічне усічення з RFC 4226 потім витягує чотири байти з виходу HMAC за зсувом, узятим з останнього байта, маскує старший біт і зводить результат за модулем 10^6 або 10^8, щоб отримати 6- чи 8-значний код — та сама арифметика, яку внутрішньо виконує застосунок-автентифікатор на вашому телефоні.

Кожен крок процесу відбувається локально: немає серверної частини, немає аналітичного маячка, що передає ваш секрет, і немає жодного зовнішнього API-виклику. Base32-текст, який ви вставляєте в поле, розбирається безпосередньо JavaScript-кодом у вашій вкладці й ніколи її не покидає. Це робить тул безпечним способом перевірити 2FA-секрет на машині, якій ви довіряєте, хоча, як і з будь-яким інструментом, що торкається автентифікаційних даних, варто уникати вставляння секретів на спільних чи публічних комп'ютерах і використовувати тул лише для кодів, пов'язаних з обліковими записами, якими ви володієте або які маєте явний дозвіл тестувати.

Налаштування алгоритму, кількості цифр та часового кроку існують тому, що реальні розгортання TOTP не є ідеально уніфікованими: більшість споживчих сервісів використовують SHA-1 із 6 цифрами та 30-секундним кроком, але деякі корпоративні та розробницькі інструменти видають SHA-256- чи SHA-512-секрети, 8-значні коди або нестандартні кроки на кшталт 15 чи 60 секунд. Узгодження цих налаштувань із тим, що вказано в URI підключення чи на сторінці налаштування, дозволяє точно відтворити код, який показав би ваш застосунок-автентифікатор — це неоціненно, коли ви реалізуєте власний сервер перевірки TOTP і потребуєте надійного офлайн-еталона для звірки.