TOTP-generator – Live 2FA-autentiseringskode
Lim inn en Base32 TOTP-hemmelighet og se den virkelige, live autentiseringskoden på 6 sifre rulere hvert 30. sekund – helt offline i nettleseren din.
🔒 Behandles i sin helhet i nettleseren din – ingenting du skriver inn her blir noen gang lastet opp.
Resultat
Dette verktøyet genererer ekte, standardkompatible tidsbaserte engangspassord (TOTP) fra en Base32-hemmelighet – de samme sekssifrede roterende kodene som vises av apper som Google Authenticator eller Authy. Lim inn hemmeligheten du fikk da du satte opp tofaktorautentisering – den strengen som vanligvis er skjult bak en QR-kode – og se live-koden telle ned og oppdateres hvert 30. sekund, akkurat som den ville gjort i en telefonapp. Den er ment for testing og verifisering av 2FA-hemmeligheter du eier eller kontrollerer: feilsøking av en innloggingsflyt du bygger, bekreftelse av en sikkerhetskopikode før du kaster en klargjørings-QR, eller dobbeltsjekking av at en hemmelighet ble skrevet inn riktig.
Under panseret er dette en ekte implementasjon av RFC 6238 (TOTP) bygget på RFC 4226 (HOTP), ikke en kosmetisk nedtelling. Base32-hemmeligheten dekodes i henhold til RFC 4648 til rå nøkkelbytes, gjeldende Unix-tid divideres med tidssteget for å få en bevegelig teller, og den telleren kodes som en 8-byte big-endian buffer. Nettleserens opprinnelige Web Crypto API (crypto.subtle) beregner en HMAC over den bufferen med den valgte hashen – SHA-1 forblir den nesten universelle standarden for kompatibilitet med eksisterende autentiseringsapper, mens SHA-256 og SHA-512 tilbys for oppsett som støtter de sterkere variantene. RFC 4226s dynamiske trunkering trekker deretter fire bytes ut av HMAC-utdataene fra en offset som hentes fra den siste byten, maskerer bort den øverste biten og reduserer resultatet modulo 10^6 eller 10^8 for å produsere koden på 6 eller 8 sifre – den nøyaktig samme aritmetikken som telefonens autentiseringsapp kjører internt.
Hver del av prosessen skjer lokalt: det er ingen serverkomponent, ingen analysefyr som bærer med seg hemmeligheten din, og ingen eksterne API-kall av noe slag. Base32-teksten du limer inn i feltet, parses direkte av JavaScript som kjører i fanen din og forlater den aldri. Det gjør dette til en trygg måte å fornuftssjekke en 2FA-hemmelighet på en maskin du stoler på, men som med ethvert verktøy som berører autentiseringsmateriale, bør du fortsatt unngå å lime inn hemmeligheter på delte eller offentlige datamaskiner og bør bare bruke dette på koder knyttet til kontoer du eier eller er eksplisitt autorisert til å teste.
Kontrollene for algoritme, antall sifre og tidssteg finnes fordi virkelige TOTP-distribusjoner ikke er helt ensartede: de fleste forbrukertjenester bruker SHA-1 med 6 sifre og et 30-sekunders steg, men enkelte bedrifts- og utviklerverktøy utsteder SHA-256- eller SHA-512-hemmeligheter, 8-sifrede koder eller ikke-standard tidssteg som 15 eller 60 sekunder. Ved å matche disse innstillingene til det en klargjørings-URI eller oppsettside spesifiserer, kan du gjenskape nøyaktig koden autentiseringsappen din ville vist, noe som er uvurderlig når du implementerer din egen TOTP-verifiseringstjener og trenger en pålitelig, offline referanse å sammenligne med.