Przejdź do treści

Generator kodów TOTP

Generuj jednorazowe kody oparte na czasie (TOTP) lub liczniku (HOTP) ze wspólnego sekretu.

Wynik

Generator kodów TOTP

Wklej Base32 wspólny sekret — ten sam, który wyświetlany jest jako tekst lub ukryty wewnątrz kodu QR podczas konfiguracji uwierzytelniania dwuskładnikowego — a to narzędzie generuje aktualny sześć-, siedem- lub ośmiocyfrowy kod jednorazowy, dokładnie jak aplikacja uwierzytelniającego. Domyślnie zgodny z RFC 6238 (TOTP, oparty na czasie), z RFC 4226 (HOTP, oparty na liczniku) dostępnym jako przełącznik trybu dla usług, które zwiększają licznik zamiast zegara.

Możesz również wkleić pełny identyfikator otpauth:// zamiast zwykłego sekretu. To są ciągi, które aplikacje uwierzytelniające czytają z kodu QR — otpauth://totp/Issuer:account?secret=…&algorithm=…&digits=…&period=… — i to narzędzie analizuje je automatycznie, wypełniając algorytm, liczbę cyfr i okres z identyfikatora, dzięki czemu nie musisz ręcznie kopiować każdego pola. Dostępne algorytmy to SHA-1 (ustawienie domyślne, które nadal używa prawie każda usługa), SHA-256 i SHA-512; liczba cyfr to 6, 7 lub 8; okres domyślnie wynosi standardowe 30 sekund, ale można go zmienić, aby pasował do niestandardowej konfiguracji.

Ustaw okno weryfikacji na wartość większą niż zero, aby zobaczyć również kody z kroków tuż przed i po bieżącym — przydatne podczas debugowania odchyleń czasowych między serwerem a klientem, ponieważ serwer akceptujący okno ±1 kroku będzie sprawdzać kod wyświetlany przez urządzenie kilka sekund wcześniej lub później. W trybie HOTP to samo okno pokazuje kody wokół danej wartości licznika zamiast kroku czasowego.

Wszystko działa przez Web Crypto API w przeglądarce: sekret jest odczytywany z zamaskowanego pola, nigdy nie jest zapisywany w lokalnym magazynie i nigdy nie opuszcza urządzenia, dokładnie jak aplikacja, którą zastępuje. Skopiuj kod, pobierz go jako plik .txt lub przenieś do wejścia innego narzędzia — nie ma nic do przesłania i nic do skonfigurowania na serwerze.

Częste pytania

Jaki format sekretu oczekuje?
Base32 zakodowany sekret — ten sam format, którego używają aplikacje uwierzytelniające, zwykle wyświetlany jako blok wielkich liter i cyfr 2-7. Spacje i łączniki w sekrecie są ignorowane, więc wklejenie pogrupowane w czwórki jest w porządku.
Czy mogę bezpośrednio użyć ciągu konfiguracji kodu QR?
Tak. Wklej pełny identyfikator otpauth://totp/… lub otpauth://hotp/… w pole sekretu, a algorytm, liczba cyfr, okres i licznik są automatycznie odczytywane z identyfikatora, zastępując opcje kontrolek poniżej.
Jaka jest różnica między TOTP i HOTP?
TOTP pochodzi z bieżącego czasu, więc zmienia się co okres (zwykle 30 sekund). HOTP pochodzi z licznika, który zwiększa się o jeden przy każdym użyciu, więc kod pozostaje taki sam, dopóki ręcznie nie zwiększysz licznika.
Dlaczego miałbym użyć okna weryfikacji?
Generuje również sąsiednie kody, co jest sposobem, w jaki serwer toleruje małe odchylenia czasowe: jeśli zegar urządzenia ma kilka sekund przyśpieszenia lub opóźnienia, kod wyświetlany może odpowiadać poprzedniemu lub następnemu krokowi zamiast bieżącego.
Czy mój sekret jest gdzieś przesyłany?
Nie. Sekret jest odczytywany z zamaskowanego pola, obliczenia HMAC są wykonywane w całości w przeglądarce za pośrednictwem Web Crypto API i nic nie jest wysyłane do serwera ani nie jest zapisywane w magazynie lokalnym.