Generator TOTP — kod uwierzytelniający 2FA na żywo
Wklej klucz TOTP w formacie Base32 i obserwuj, jak rzeczywisty, działający 6-cyfrowy kod uwierzytelniający zmienia się co 30 sekund — całkowicie offline w Twojej przeglądarce.
🔒 Przetwarzane w całości w Twojej przeglądarce — nic, co tu wpiszesz, nie zostanie nigdy przesłane.
Wynik
To narzędzie generuje rzeczywiste, zgodne ze standardami kody Time-based One-Time Password (TOTP) na podstawie klucza w Base32 — te same sześciocyfrowe kody rotacyjne, które wyświetlają aplikacje takie jak Google Authenticator czy Authy. Wklej klucz, który otrzymałeś podczas konfiguracji uwierzytelniania dwuskładnikowego — ten sam ciąg, zwykle ukryty za kodem QR — i obserwuj, jak kod odlicza czas i odświeża się co 30 sekund, dokładnie tak, jak w aplikacji na telefonie. Narzędzie służy do testowania i weryfikowania kluczy 2FA, które posiadasz lub którymi zarządzasz: debugowania tworzonego procesu logowania, potwierdzania kodu zapasowego przed wyrzuceniem kodu QR konfiguracyjnego lub sprawdzania, czy klucz został wpisany poprawnie.
Pod maską znajduje się rzeczywista implementacja RFC 6238 (TOTP) oparta na RFC 4226 (HOTP), a nie tylko kosmetyczne odliczanie. Klucz Base32 jest dekodowany zgodnie z RFC 4648 do surowych bajtów, bieżący czas Unix jest dzielony przez krok czasowy, aby uzyskać zmienny licznik, a licznik ten jest kodowany jako 8-bajtowy bufor big-endian. Natywny interfejs Web Crypto API przeglądarki (crypto.subtle) oblicza HMAC dla tego bufora przy użyciu wybranego hasha — SHA-1 pozostaje niemal uniwersalnym domyślnym wyborem dla kompatybilności z istniejącymi aplikacjami uwierzytelniającymi, natomiast SHA-256 i SHA-512 są dostępne dla konfiguracji obsługujących silniejsze warianty. Dynamiczne obcinanie zdefiniowane w RFC 4226 pobiera następnie cztery bajty z wyniku HMAC, korzystając z offsetu określonego przez ostatni bajt, maskuje najstarszy bit i redukuje wynik modulo 10^6 lub 10^8, aby uzyskać kod 6- lub 8-cyfrowy — dokładnie te same obliczenia, które wewnętrznie wykonuje aplikacja uwierzytelniająca na Twoim telefonie.
Cały proces odbywa się lokalnie: nie ma komponentu serwerowego, żadnego sygnału analitycznego przekazującego Twój klucz ani żadnego zewnętrznego wywołania API. Tekst w Base32 wklejony do pola jest przetwarzany bezpośrednio przez JavaScript działający w Twojej karcie i nigdy jej nie opuszcza. Dzięki temu jest to bezpieczny sposób na szybkie sprawdzenie poprawności klucza 2FA na zaufanym komputerze, choć — jak w przypadku każdego narzędzia mającego kontakt z danymi uwierzytelniającymi — nadal powinieneś unikać wklejania kluczy na współdzielonych lub publicznych komputerach i używać go wyłącznie do kodów powiązanych z kontami, które należą do Ciebie lub do testowania których masz wyraźne upoważnienie.
Kontrolki algorytmu, liczby cyfr i kroku czasowego istnieją, ponieważ rzeczywiste wdrożenia TOTP nie są idealnie jednolite: większość usług konsumenckich używa SHA-1 z 6 cyframi i 30-sekundowym krokiem, ale niektóre narzędzia firmowe i deweloperskie wydają klucze SHA-256 lub SHA-512, kody 8-cyfrowe lub niestandardowe kroki czasowe, np. 15 lub 60 sekund. Dopasowanie tych ustawień do specyfikacji zawartych w identyfikatorze URI konfiguracji lub na stronie konfiguracji pozwala dokładnie odtworzyć kod, który pokazałaby Twoja aplikacja uwierzytelniająca, co jest nieocenione, gdy wdrażasz własny serwer weryfikacji TOTP i potrzebujesz godnego zaufania, offline'owego punktu odniesienia do porównań.