Mga random na password mula sa mga titik, numero, at simbolo gamit ang crypto.getRandomValues.
Tagabuo ng Kodigo ng TOTP/HOTP
Ang kasangkapan mismo ay nasa Ingles; ipinaliwanag ito ng pahinang ito sa iyong wika.
Gamitin angTagabuo ng Kodigo ng TOTP/HOTP
Ano ang ginagawa nito
Kalkulahin ang time-based (TOTP) o counter-based (HOTP) na one-time password para sa isang Base32 na lihim, gaya ng ginagawa ng mga authenticator app, at suriin kung tumutugma ang code. Kapaki-pakinabang para subukan ang iyong sariling 2FA setup.
Ganap itong tumatakbo sa iyong browser: walang anumang ipinasok mo ang ina-upload.
Paano gamitin ang Tagabuo ng Kodigo ng TOTP/HOTP
- Ipasok ang lihim. I-paste ang Base32 secret ng sarili mong test account sa Secret key (Base32), o pindutin ang Random para sa bagong 32-character na lihim.
- I-ayon ang mga setting ng iyong app.. Piliin ang uri ng code (TOTP na nakabatay sa oras o HOTP na nakabatay sa counter), ang algorithm, at ang bilang ng mga digit. Karamihan sa mga authenticator app ay gumagamit ng TOTP, HMAC-SHA-1, at anim na digit.
- Ipakita ang code. Para sa TOTP, pindutin ang Start TOTP: lumalabas ang code na may countdown at muling kinakalkula tuwing isang segundo. Para sa HOTP, itakda ang counter at pindutin ang Show HOTP code; ang Next ay lilipat sa susunod na counter.
- Suriin ang isang code. I-type ang code mula sa iyong app o server sa "Verify a code" at pindutin ang "Verify". Sinasabi ng resulta kung ito ay tumutugma at para sa aling hakbang ng oras o counter.
- Tumigil at linisin. Pindutin ang Stop kapag tapos ka na; ang huling code ay mananatili sa screen. Ikaw mismo ang mag-empty ng lihim na patlang.
Halimbawa
RFC 6238 lihim na pagsubok
GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ412568Ito ang inilathalang RFC 6238 test key na 12345678901234567890 sa Base32. Ipinapakita ng pahina ang kasalukuyang anim na digit na code at ang bilang ng segundo hanggang sa susunod, ang parehong code na ipinapakita ng authenticator app para sa lihim na ito; nang lumipat sa HOTP na may counter na 0, ipinapakita nito ang 755224, ang unang RFC 4226 test value.
Ano ang sinusuri nito
| Sinyales | Ano ang ibig sabihin nito |
|---|---|
| Ang kodigo | HMAC ng hakbang ng oras (TOTP) o ng counter (HOTP), pinutol sa 6 o 8 na digit ayon sa RFC 4226 at RFC 6238. Tumutugma lamang ito sa isang app kapag pareho ang uri, algoritmo, at mga digit. |
| Nagre-refresh sa Ns · hakbang ng oras N | Mga segundo na lang ang natitira sa kasalukuyang 30-segundong bintana at ang bilang ng hakbang, na kinuha mula sa orasan ng iyong aparato. Ang orasan na hindi tama ang oras ay nagpapakita ng nakaraang o susunod na code. |
| Counter N · pindutin ang Susunod | Sa HOTP mode, ang code ay para sa counter na iyon. Ang bawat code ay ginagamit nang isang beses; pagkatapos ay inaasahan ng mga server ang susunod na counter. |
| Hindi Base32: ... | Ang lihim ay naglalaman ng mga karakter na hindi kabilang sa A–Z at 2–7, tulad ng 0, 1, 8 o 9. Hindi pinapansin ang mga puwang, gulis, at =, at tinatanggap ang maliliit na titik. |
| Ang lihim ay N na bit lamang. | Ang lihim ay mas maikli kaysa sa 128 bits (26 na karakter ng Base32) na hinihingi ng RFC 4226. Ipinapakita pa rin ang mga code, ngunit mas madaling hulaan ang ganitong lihim. |
| Wasto: tumutugma ... | I-verify na nahanap ang code para sa kasalukuyang hakbang ng oras o ang HOTP counter sa larangan. |
| Bisa para sa naunang o susunod na hakbang | Ang code ay para sa isang 30-segundong hakbang bago o pagkatapos ng ngayon (ipinapakita sa kulay kahel). Karaniwan, may maliit na pagkakaiba sa oras sa pagitan ng dalawang aparato. |
| Walang tugma | Hindi kasya ang mga tinsek na hakbang ng oras o ang mga counter. Suriin ang lihim, ang orasan, ang algoritmo, at ang bilang ng mga digit. |
Karagdagang mga halimbawa
RFC 4226 susi sa pagsubok, HOTP
GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQSa uri ng code na HOTP, HMAC-SHA-1, 6 na digit at counter na 0, ang code ay 755224; ang susunod ay 287082 para sa counter na 1, ang mga inilathalang halagang pang-subok ng RFC 4226.
I-verify ang code na isang counter pasulong.
GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQSa HOTP mode na may counter 0, kapag in-type ang 287082 sa Verify a code, lumalabas: Balido para sa counter 1, 1 na nauuna sa counter field.
Hindi ito isang Base32 na lihim
0189Maling mensahe na Not Base32: "0", "1", "8", "9", dahil ang Base32 ay gumagamit lamang ng mga titik na A–Z at ng mga digit na 2–7.
Madalas na tanong
Ano nga ba talaga ang kinakalkula nito?
Mga kodigo ng TOTP mula sa kasalukuyang oras sa 30-segundong hakbang (RFC 6238) o mga kodigo ng HOTP para sa counter na itinakda mo (RFC 4226), na may HMAC-SHA-1, SHA-256 o SHA-512 at 6 o 8 na digit; Karamihan sa mga authenticator app ay gumagamit ng SHA-1 at 6 na digit. Sa pag-verify ng code, sinusubukan ang kasalukuyang hakbang ng oras at ang isang hakbang sa bawat gilid, o ang HOTP counter at ang susunod na 9, at ang isang lihim na may mga karakter na hindi kabilang sa A-Z at 2-7 ay tinatanggihan kasama ang mensahe.
Pinoprotektahan ba ako ng TOTP code laban sa phishing?
Hindi ganap. Ang mga adversary-in-the-middle phishing kit ay ipinapasa ang code sa tunay na site habang tinatype mo ito, kaya nakukuha ito kasama ng password; lumalaban dito ang mga passkey at FIDO2 security key dahil naka-tie ang mga ito sa tunay na domain.
Ipinapadala ba ang lihim o iniimbak ba ito kahit saan?
Hindi. Kinakalkula ang mga code sa iyong browser gamit ang Web Crypto API at hindi kailanman ina-upload o ini-save ang lihim. Nakasalalay ang TOTP sa orasan ng iyong device, kaya't kapag hindi tama ang oras ay magkakaiba ang mga code.
Paano ko maa-verify ang mga code laban sa mga RFC?
Gamitin ang test key 12345678901234567890, sa Base32 GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ. Sa HOTP mode, ang counter 0 ay nagbibigay ng 755224 at ang counter 1 ay nagbibigay ng 287082 (RFC 4226). Ang RFC 6238 ay naglista ng 94287082 para sa 8 digit sa 59 segundo pagkatapos ng ika-1 ng Enero 1970 UTC; ang mode ng TOTP ay palaging gumagamit ng kasalukuyang oras.
Ano ang pagkakaiba ng TOTP at HOTP?
HOTP (RFC 4226) ay gumagamit ng mga bilang: ang bawat code ay kabilang sa isang counter na tumataas ng isa. Ang TOTP (RFC 6238) ay HOTP na may counter na nakatakda sa kasalukuyang 30-segundong hakbang ng oras, kaya nagbabago ang code kasabay ng orasan.
Bakit iba ang ipinapakita ng app ko na code?
Una, suriin muna ang mga orasan, dahil ang 30 segundong pagkakaiba ay nagbabago ng code. Pagkatapos, suriin ang lihim para sa mga typo at kung gumagamit ang account ng SHA-256, SHA-512, 8 na digit o counter sa halip na oras, at itakda rito ang parehong mga opsyon.
Dapat ko bang i-paste dito ang totoong 2FA secret?
Iwasan ito. Nanatili ang lihim sa iyong browser, ngunit sinumang makakita o makakopya nito ay maaaring makabuo ng iyong mga code hanggang sa i-reset mo ang 2FA sa account na iyon. Upang ilipat ang 2FA sa bagong telepono, gamitin ang sariling opsyon sa paglilipat o pag-reset ng account.