TOTP-generator – Live 2FA-authenticator-kode
Indsæt en Base32 TOTP-hemmelighed og se den reelle, live 6-cifrede authenticator-kode rotere hvert 30. sekund – helt offline i din browser.
🔒 Behandles helt i din browser - intet, du indtaster her, bliver nogensinde uploadet.
Resultat
Dette værktøj genererer reelle, standard-kompatible tidsbaserede engangskoder (TOTP) ud fra en Base32-hemmelighed – de samme sekscifrede roterende koder, som apps som Google Authenticator eller Authy viser. Indsæt den hemmelighed, du fik, da du opsatte tofaktorgodkendelse – den samme streng, der normalt gemmer sig bag en QR-kode – og se den aktuelle kode tælle ned og blive fornyet hvert 30. sekund, præcis som den ville gøre i en telefonapp. Det er beregnet til test og verifikation af 2FA-hemmeligheder, du ejer eller kontrollerer: fejlfinding af et login-flow, du bygger, bekræftelse af en backup-kode, før du smider en provisionerings-QR væk, eller dobbelttjek af, om en hemmelighed er skrevet korrekt ind.
Under motorhjelmen er der tale om en reel implementering af RFC 6238 (TOTP) bygget på RFC 4226 (HOTP) – ikke en kosmetisk nedtælling. Base32-hemmeligheden afkodes i henhold til RFC 4648 til rå nøglebytes, den aktuelle Unix-tid divideres med tidstrinnet for at få en bevægelig tæller, og denne tæller kodes som en 8-byte big-endian-buffer. Browserens indbyggede Web Crypto API (crypto.subtle) beregner en HMAC over denne buffer med den valgte hash – SHA-1 er stadig den næsten universelle standard af kompatibilitetshensyn til eksisterende authenticator-apps, mens SHA-256 og SHA-512 tilbydes til opsætninger, der understøtter de stærkere varianter. RFC 4226's dynamiske trunkering trækker derefter fire bytes ud af HMAC-outputtet på en offset taget fra dets sidste byte, maskerer den øverste bit fra og reducerer resultatet modulo 10^6 eller 10^8 for at frembringe den 6- eller 8-cifrede kode – præcis den samme aritmetik, som din telefons authenticator-app kører internt.
Hver eneste del af processen foregår lokalt: der er ingen serverkomponent, intet analyse-beacon, der bærer din hemmelighed, og intet eksternt API-kald af nogen art. Den Base32-tekst, du indsætter i feltet, fortolkes direkte af JavaScript, der kører i din fane, og forlader det aldrig. Det gør dette til en sikker måde at tjekke en 2FA-hemmelighed på en maskine, du har tillid til, men som med ethvert værktøj, der rører ved godkendelsesmateriale, bør du stadig undgå at indsætte hemmeligheder på delte eller offentlige computere og bør kun bruge det på koder knyttet til konti, du ejer, eller som du udtrykkeligt er autoriseret til at teste.
Kontrollerne for algoritme, antal cifre og tidstrin findes, fordi TOTP-implementeringer i den virkelige verden ikke er helt ensartede: de fleste forbrugerservices bruger SHA-1 med 6 cifre og et 30-sekunders trin, men nogle enterprise- og udviklerværktøjer udsteder SHA-256- eller SHA-512-hemmeligheder, 8-cifrede koder eller ikke-standard tidstrin som 15 eller 60 sekunder. Hvis du matcher disse indstillinger med det, en provisionerings-URI eller opsætningsside angiver, kan du genskabe præcis den kode, din authenticator-app ville vise, hvilket er uvurderligt, når du implementerer din egen TOTP-verifikationsserver og har brug for en pålidelig, offline reference at sammenligne med.