TOTP-Generator – Live-2FA-Authentifikatorcode
Fügen Sie ein Base32 TOTP-Geheimnis ein und beobachten Sie, wie sich der echte, sechsstellige Authentifizierungscode live alle 30 Sekunden ändert – völlig offline in Ihrem Browser.
Ergebnis
Dieses Tool generiert echte, standardkonforme TOTP-Codes (Time-based One-Time Password) aus einem Base32-Geheimnis, den gleichen sechsstelligen rotierenden Codes, die von Apps wie Google Authenticator oder Authy angezeigt werden. Fügen Sie das Geheimnis ein, das Sie beim Einrichten der Zwei-Faktor-Authentifizierung erhalten haben – dieselbe Zeichenfolge, die normalerweise hinter einem QR-Code verborgen ist – und beobachten Sie, wie der Live-Code alle 30 Sekunden herunterzählt und aktualisiert wird, genau wie in einer Telefon-App. Es dient zum Testen und Verifizieren von 2FA-Geheimnissen, die Sie besitzen oder kontrollieren: zum Debuggen eines von Ihnen erstellten Anmeldeablaufs, zum Bestätigen eines Sicherungscodes, bevor Sie einen Bereitstellungs-QR wegwerfen, oder zum Überprüfen, ob ein Geheimnis richtig eingegeben wurde.
Unter der Haube handelt es sich um eine echte Implementierung von RFC 6238 (TOTP), die auf RFC 4226 (HOTP) aufbaut, und nicht um einen kosmetischen Countdown. Das Base32-Geheimnis wird gemäß RFC 4648 in rohe Schlüsselbytes dekodiert, die aktuelle Unix-Zeit wird durch den Zeitschritt dividiert, um einen gleitenden Zähler zu erhalten, und dieser Zähler wird als 8-Byte-Big-Endian-Puffer kodiert. Die native Web-Crypto-API des Browsers (crypto.subtle) berechnet einen HMAC über diesen Puffer mit dem von Ihnen gewählten Hash – SHA-1 bleibt der nahezu universelle Standard für die Kompatibilität mit bestehenden Authentifizierungs-Apps, während SHA-256 und SHA-512 für Setups angeboten werden, die die stärkeren Varianten unterstützen. Die dynamische Kürzung von RFC 4226 zieht dann vier Bytes aus der HMAC-Ausgabe mit einem Offset ab dem letzten Byte, maskiert das oberste Bit und reduziert das Ergebnis modulo 10^6 oder 10^8, um den 6- oder 8-stelligen Code zu erzeugen – genau die gleiche Arithmetik, die die Authentifizierungs-App Ihres Telefons intern ausführt.
Jeder Teil des Prozesses findet lokal statt: Es gibt keine Serverkomponente, keinen Analytics-Beacon, der Ihr Geheimnis trägt, und keinen externen API-Aufruf jeglicher Art. Der Base32-Text, den Sie in das Feld einfügen, wird direkt von JavaScript analysiert, das in Ihrem Tab ausgeführt wird, und verlässt diesen nie. Das macht dies zu einer sicheren Möglichkeit, ein 2FA-Geheimnis auf einem Computer, dem Sie vertrauen, auf Plausibilität zu überprüfen. Allerdings sollten Sie wie bei jedem Tool, das Authentifizierungsmaterial berührt, dennoch vermeiden, Geheimnisse auf gemeinsam genutzten oder öffentlichen Computern einzufügen, und dies immer nur für Codes verwenden, die mit Konten verknüpft sind, die Sie besitzen oder zu deren Testen Sie ausdrücklich berechtigt sind.
Der Algorithmus, die Ziffernanzahl und die Zeitschrittkontrollen existieren, weil TOTP-Bereitstellungen in der Praxis nicht vollkommen einheitlich sind: Die meisten Verbraucherdienste verwenden SHA-1 mit 6 Ziffern und einem 30-Sekunden-Schritt, aber einige Unternehmens- und Entwicklertools geben SHA-256- oder SHA-512-Geheimnisse, 8-stellige Codes oder nicht standardmäßige Zeitschritte wie 15 oder 60 Sekunden aus. Wenn Sie diese Einstellungen an die Angaben eines Bereitstellungs-URI oder einer Setup-Seite anpassen, können Sie genau den Code reproduzieren, den Ihre Authentifizierungs-App anzeigen würde. Dies ist von unschätzbarem Wert, wenn Sie Ihren eigenen TOTP-Verifizierungsserver implementieren und eine vertrauenswürdige Offline-Referenz zum Vergleich benötigen.