0

Generator TOTP — kod uwierzytelniający 2FA na żywo

Wklej sekret Base32 TOTP i obserwuj, jak prawdziwy, 6-cyfrowy kod uwierzytelniający zmienia się co 30 sekund — całkowicie offline w przeglądarce.

- -

30 Sekundy

Przetwarzanie... 0%

Wynik

To narzędzie generuje prawdziwe, zgodne ze standardami kody jednorazowego hasła czasowego (TOTP) na podstawie sekretu Base32 — tych samych sześciocyfrowych kodów rotacyjnych pokazywanych przez aplikacje takie jak Google Authenticator czy Authy. Wklej sekret otrzymany podczas konfigurowania uwierzytelniania dwuskładnikowego – ten sam ciąg znaków, który zwykle jest ukryty za kodem QR – i obserwuj, jak kod na żywo odlicza i odświeża co 30 sekund, dokładnie tak, jak w aplikacji na telefon. Służy do testowania i weryfikowania posiadanych lub kontrolowanych przez Ciebie sekretów 2FA: debugowania tworzonego przepływu logowania, potwierdzania kodu zapasowego przed wyrzuceniem kodu QR udostępniania lub podwójnego sprawdzania, czy sekret został poprawnie wpisany.

Pod maską jest to prawdziwa implementacja RFC 6238 (TOTP) zbudowana na RFC 4226 (HOTP), a nie kosmetyczne odliczanie. Sekret Base32 jest dekodowany zgodnie z RFC 4648 do surowych bajtów klucza, bieżący czas Uniksa jest dzielony przez krok czasu, aby uzyskać ruchomy licznik, a licznik ten jest kodowany jako 8-bajtowy bufor big-endian. Natywny interfejs Web Crypto API przeglądarki (crypto.subtle) oblicza HMAC w tym buforze z wybranym skrótem — SHA-1 pozostaje niemal uniwersalnym ustawieniem domyślnym w celu zapewnienia zgodności z istniejącymi aplikacjami uwierzytelniającymi, podczas gdy SHA-256 i SHA-512 są oferowane w przypadku konfiguracji obsługujących silniejsze warianty. Dynamiczne obcięcie RFC 4226 pobiera następnie cztery bajty z wyjścia HMAC z przesunięciem wziętym z ostatniego bajtu, maskuje górny bit i zmniejsza wynik modulo 10^6 lub 10^8, aby uzyskać 6- lub 8-cyfrowy kod — dokładnie ta sama arytmetyka, którą aplikacja uwierzytelniająca w telefonie działa wewnętrznie.

Każda część procesu odbywa się lokalnie: nie ma komponentu serwera, żadnego sygnalizatora analitycznego przechowującego Twój sekret ani żadnego zewnętrznego wywołania API. Tekst Base32, który wkleisz w polu, jest analizowany bezpośrednio przez JavaScript działający na Twojej karcie i nigdy go nie opuszcza. Dzięki temu jest to bezpieczny sposób na sprawdzenie tajemnicy 2FA na zaufanej maszynie, choć podobnie jak w przypadku każdego narzędzia, które ma kontakt z materiałami uwierzytelniającymi, nadal powinieneś unikać wklejania sekretów na komputerach współdzielonych lub publicznych i powinieneś używać tego tylko w przypadku kodów powiązanych z kontami, które posiadasz lub do których testowania jesteś wyraźnie upoważniony.

Algorytm, liczba cyfr i kontrola kroków czasowych istnieją, ponieważ wdrożenia TOTP w świecie rzeczywistym nie są idealnie jednolite: większość usług konsumenckich używa SHA-1 z 6 cyframi i krokiem 30-sekundowym, ale niektóre narzędzia dla przedsiębiorstw i programistów wystawiają klucze tajne SHA-256 lub SHA-512, 8-cyfrowe kody lub niestandardowe kroki czasowe, takie jak 15 lub 60 sekund. Dopasowanie tych ustawień do dowolnego adresu URI udostępniania lub strony konfiguracji pozwala odtworzyć dokładnie taki kod, jaki wyświetliłaby aplikacja uwierzytelniająca, co jest nieocenione, gdy wdrażasz własny serwer weryfikacyjny TOTP i potrzebujesz wiarygodnego odniesienia offline do porównania.