TOTP-generaattori – elävä 2FA-todennuskoodi
Liitä Base32-muotoinen TOTP-salaisuus ja katso, kuinka aito, elävä 6-numeroinen todennuskoodi päivittyy 30 sekunnin välein – täysin offline-tilassa selaimessasi.
🔒 Käsitelty kokonaan selaimessasi – mitään tähän kirjoittamaasi ei koskaan ladata.
Tulos
Tämä työkalu luo aitoja, standardinmukaisia aikaperusteisia kertakäyttösalasanoja (TOTP) Base32-salaisuudesta – samoja kuusinumeroisia, vaihtuvia koodeja, joita sovellukset kuten Google Authenticator tai Authy näyttävät. Liitä salaisuus, jonka sait määrittäessäsi kaksivaiheista tunnistautumista – yleensä QR-koodin taakse piilotettu merkkijono – ja seuraa, kuinka elävä koodi laskee alaspäin ja päivittyy 30 sekunnin välein, aivan kuten puhelinsovelluksessa. Työkalu on tarkoitettu omistamiesi tai hallitsemiesi 2FA-salaisuuksien testaamiseen ja todentamiseen: rakentamasi kirjautumisprosessin virheenjäljitykseen, varmuuskoodin vahvistamiseen ennen provisiointi-QR-koodin hävittämistä tai sen varmistamiseen, että salaisuus kirjoitettiin oikein.
Pinnan alla tämä on aito RFC 6238 (TOTP) -toteutus, joka perustuu RFC 4226:een (HOTP), ei pelkkä kosmeettinen lähtölaskenta. Base32-salaisuus puretaan RFC 4648:n mukaisesti raa'oiksi avaintavuiksi, nykyinen Unix-aika jaetaan aika-askeleella, jotta saadaan liikkuva laskuri, ja tämä laskuri koodataan 8-tavuisena big-endian-puskurina. Selain natiivi Web Crypto API (crypto.subtle) laskee tästä puskurista HMAC-tiivisteen valitsemallasi tiivistealgoritmilla – SHA-1 on edelleen lähes yleismaailmallinen oletus yhteensopivuuden vuoksi olemassa olevien todennussovellusten kanssa, kun taas SHA-256 ja SHA-512 ovat tarjolla vahvempia variantteja tukeviin ympäristöihin. RFC 4226:n dynaaminen typistys poimii sitten neljä tavua HMAC-tulosteesta offsetin kohdalta, joka otetaan sen viimeisestä tavusta, maskaa ylimmän bitin pois ja jakaa tuloksen jakojäännöksellä 10^6 tai 10^8 tuottaakseen 6- tai 8-numeroisen koodin – täsmälleen sama laskutoimitus, jonka puhelimesi todennussovellus suorittaa sisäisesti.
Prosessin jokainen osa tapahtuu paikallisesti: ei palvelinkomponenttia, ei analytiikkamajakkaa, joka kuljettaisi salaisuuttasi, eikä minkäänlaisia ulkoisia API-kutsuja. Kenttään liittämäsi Base32-teksti jäsennetään suoraan välilehdessäsi toimivalla JavaScriptillä, eikä se koskaan poistu sieltä. Tämä tekee siitä turvallisen tavan tarkastaa 2FA-salaisuus luottamallasi koneella, vaikkakin – kuten minkä tahansa tunnistautumismateriaalia käsittelevän työkalun kohdalla – sinun tulisi silti välttää salaisuuksien liittämistä jaetuilla tai julkisilla tietokoneilla ja käyttää työkalua vain tileihin, jotka omistat tai joiden testaamiseen sinulla on nimenomainen lupa.
Algoritmin, numeromäärän ja aika-askeleen säätimet ovat olemassa, koska todelliset TOTP-käyttöönotot eivät ole täysin yhdenmukaisia: useimmat kuluttajapalvelut käyttävät SHA-1:tä 6 numerolla ja 30 sekunnin askeleella, mutta jotkin yritys- ja kehittäjätyökalut antavat SHA-256- tai SHA-512-salaisuuksia, 8-numeroisia koodeja tai epästandardeja aika-askelia, kuten 15 tai 60 sekuntia. Näiden asetusten sovittaminen provisiointi-URI:n tai asetussivun määrittelyjen mukaiseksi antaa sinun toistaa täsmälleen saman koodin, jonka todennussovelluksesi näyttäisi – tämä on korvaamatonta, kun olet toteuttamassa omaa TOTP-varmennuspalvelintasi ja tarvitset luotettavan, offline-vertailukohdan.