/totp

TOTP-generator: 2FA-engangskode fra Base32-nøkkel

Lag den seks-sifrede TOTP-engangskoden (2FA) fra en Base32-nøkkel, lokalt med HMAC-SHA1.

Slik fungerer det

Lim inn den hemmelige nøkkelen (Base32) fra en to-faktor-tjeneste, så lages den samme seks-sifrede engangskoden (TOTP) som en autentiserings-app ville vist, fornyet hvert 30. sekund. Nyttig for testing eller som reserve. Beregningen (HMAC-SHA1) skjer lokalt i nettleseren, og nøkkelen sendes aldri noe sted.

Om dette verktøyet

TOTP-verktøyet genererer og verifiserer engangskoder for tofaktor-autentisering, samme type koder som Google Authenticator, Authy og 1Password lager. Standarden er RFC 6238 og bygger på et delt hemmelig nøkkel og gjeldende tid. Verktøyet lar deg legge inn en base32-hemmelighet og se de gjeldende 6-sifrede kodene direkte, generere QR-koder for enkel oppsett i mobil-app, samt teste at koden din matcher det serveren ville sett. Nyttig hvis du utvikler et påloggingssystem, migrerer 2FA-nøkler eller trenger å teste at klokka på enhetene dine synkroniseres. Alt kjøres i nettleseren, hemmeligheten forlater aldri maskinen din.

Slik bruker du det

  1. Lim inn eller generer en base32-hemmelighet.
  2. Se den gjeldende 6-sifrede koden oppdatere seg hvert 30. sekund.
  3. Skann QR-koden med Authenticator-appen for enkel oppsett.
  4. Verifiser en kode ved å skrive den inn og trykke «Sjekk».

Eksempler

Base32-hemmelighet
InnJBSWY3DPEHPK3PXP
UtKode nå: 492 039 Utløper om: 12 sekunder
otpauth-URL for QR
Innissuer=Verktoy, account=alice@example.com
Utotpauth://totp/Verktoy:alice@example.com?secret=JBSWY3DPEHPK3PXP&issuer=Verktoy&digits=6&period=30
Denne URLen kodes som QR og skannes av mobil-appen. issuer og account vises som «kontonavn» i appen.

Vanlige bruksområder

  • Utvikle 2FA-innlogging i egne applikasjoner.
  • Migrere 2FA-nøkler mellom Authenticator-apper.
  • Teste at klokka på server og klient er nok i sync til at koder validerer.
  • Lære hvordan TOTP-algoritmen faktisk fungerer.
  • Ha en backup-kode-generator på et sekundært apparat.

Ofte stilte spørsmål

Er det trygt å lime inn hemmeligheten min her?
Ja, hele kalkulasjonen skjer i nettleseren. Ingen data sendes til vår server, ingen logging, ingen tracking av hemmeligheter. Du kan verifisere ved å slå av nettet før du bruker verktøyet, det vil fortsatt fungere.
Hvorfor endrer koden seg hvert 30. sekund?
Standard TOTP-«period» er 30 sekunder. Da får en angriper som får tak i én kode maks 30 sekunder på å bruke den, og siden servere aksepterer et lite tidsvindu (±1 kode) er praktisk levetid opptil 90 sekunder. Kortere perioder gjør systemet sikrere men mer sårbart for klokke-drift.
Hva om koden mine ikke virker?
Vanligvis er klokka på enheten din feil. TOTP krever at klienten og serveren har klokker som stemmer innenfor 30–60 sekunder. Aktiver automatisk tidssynkronisering (NTP) i OS-innstillingene, det løser typisk problemet.
Er 6 sifre sikkert nok?
For engangsbruk innenfor 30 sekunder: ja. 10^6 = 1 million muligheter kombinert med rate limiting og forsøk-begrensning gjør at gjetting er umulig i praksis. Standarden støtter også 7 og 8 sifre for spesielle behov, men 6 er balansen mellom sikkerhet og brukervennlighet.

Teknisk bakgrunn

TOTP (Time-based One-Time Password, RFC 6238) er en utvidelse av HOTP (RFC 4226). Formelen er: TOTP = HOTP(secret, floor(current_unix_time / period)). HOTP tar HMAC-SHA-1 av secretet og telleren (som er tiden delt på perioden), henter 4 byte fra et dynamisk offset i hashen, tar modulo 10^digits, og gir engangskoden. Standard: perioden er 30 s, digits er 6, hashen er SHA-1 (RFC 6238 tillater også SHA-256 og SHA-512, men SHA-1 dominerer for kompatibilitet). Hemmeligheten deles ofte som base32 fordi den er case-insensitiv og bruker et enkelt alfabet som er lett å lese høyt. otpauth://-URL-en er de-facto standard for QR-utveksling og støttes av alle store Authenticator-apper. For sikker implementering: bruk minst 160 bit (20 byte) hemmelighet, aksepter ±1 periode for klokke-drift, forby gjenbruk av samme kode innen samme periode for å hindre replay, og krev at brukeren re-registrerer nøkkelen ved bytte av enhet i stedet for å synkronisere hemmeligheten mellom enheter.