TOTP at HOTP Code Generator
Gumawa ng TOTP at HOTP 2FA code mula sa Base32 secret o otpauth:// URI, gamit ang SHA-1, SHA-256 o SHA-512, may live na countdown at QR code para sa 2FA app.
Kasing-sensitibo ng password ang 2FA secret. Lokal na tumatakbo sa iyong browser ang lahat dito: hindi ipinapadala kahit saan ang secret, ang mga code at ang QR code.
- Nakaraang code
- —
- Kasalukuyang code
- —
- Susunod na code
- —
Nakadepende sa orasan ng iyong device ang mga TOTP code. Kung hindi tugma, tiyaking awtomatikong naka-set ang orasan.
Mag-set up ng authenticator app
Magdagdag ng issuer at pangalan ng account, pagkatapos ay i-scan ang QR code o kopyahin ang otpauth:// link sa iyong authenticator app.
Paano gumawa ng TOTP code
- I-paste ang Base32 secret (halimbawa
JBSWY3DPEHPK3PXP) o kumpletongotpauth://link sa Secret (Base32) o otpauth:// URI. Tinatanggap ang mga espasyo, gitling, maliliit na letra at nawawalang=padding. - Lumalabas ang mga code habang nagta-type ka, o kapag nag-click ka ng Ipakita ang mga code. Kapag nag-paste ng URI, awtomatikong mapupunan ang mga field na Uri, Algorithm, Mga digit, Period (segundo), Issuer at Account.
- Basahin ang Kasalukuyang code sa gitna, kasama ang Nakaraang code at Susunod na code sa magkabilang panig. Binibilang ng bar sa ibaba ang mga segundo bago magbago ang code, at kinokopya ng Kopyahin ang code ito nang walang espasyo.
- Para sa mga code na batay sa counter, piliin ang HOTP (batay sa counter), itakda ang Counter at gamitin ang Susunod na counter para sumulong.
- Para gumawa ng bagong 2FA secret, i-click ang Bagong random na secret. Punan ang Issuer at Account, pagkatapos ay i-scan ang QR code gamit ang authenticator app, Kopyahin ang URI, o I-download ang QR code (PNG).
Paano gumagana ang TOTP at HOTP
Kinukuwenta ng HOTP (RFC 4226) ang HMAC ng 8-byte na counter gamit ang shared secret, at saka naglalapat ng dynamic truncation: pinipili ng huling apat na bit ng HMAC ang offset, binabasa ang apat na byte mula roon, nililinis ang pinakamataas na bit at binabawasan ang numero modulo 10^digit. Ang resulta ay code na 6 hanggang 8 digit.
Ang TOTP (RFC 6238) ay HOTP na ang counter ay ang kasalukuyang time step: T = floor(Unix time / period), na may default na period na 30 segundo. Magkahiwalay na kinukuwenta ng telepono mo at ng server ang parehong code, dahil pareho ang secret nila at (halos) pareho ang orasan. Kaya ipinapakita ang Nakaraang code at Susunod na code: kadalasang tinatanggap ng mga server ang isang hakbang bago o pagkatapos para kunsintihin ang pagkakaiba ng orasan.
Tumatakbo ang HMAC gamit ang Web Crypto API ng iyong browser na may SHA-1, SHA-256 o SHA-512. Ang SHA-1 na may 6 na digit at 30 segundo ang ginagamit ng halos lahat ng serbisyo; pinapayagan ng RFC 6238 ang SHA-256 at SHA-512 pero binabalewala ito ng ilang app, kaya baguhin lang ang mga default kung hihingin ng serbisyo.
Ang otpauth:// URI at QR code
Sine-set up ang mga authenticator app gamit ang URI gaya ng otpauth://totp/Example:alice@example.com?secret=…&issuer=Example&algorithm=SHA1&digits=6&period=30, na kadalasang ipinapakita bilang QR code. Binabasa ng tool na ito ang mga ganitong URI (kasama ang mga percent-encoded na label gaya ng ACME%20Co) at gumagawa ng bago. Lokal na iginuguhit ang QR code mula sa URI na ipinapakita sa ilalim ng otpauth:// URI.
Ang bagong random na secret ay may 20 byte (160 bit), ang habang inirerekomenda ng RFC 4226, na kinuha mula sa crypto.getRandomValues.
Mga tip sa seguridad
- Ang secret mismo ang pangalawang factor: ang sinumang may hawak nito ay makakagawa ng iyong mga code. Huwag mag-paste ng mga secret ng mahahalagang account sa mga shared na computer, at huwag magbahagi ng screenshot ng QR code.
- Lokal na kinukuwenta ang lahat; walang ipinapadala sa network. Isara ang tab kapag tapos ka na.
- Itago ang mga backup code mula sa serbisyo: hindi na mababawi ang secret na nawala.
Mga madalas itanong
Bakit hindi tugma ang code ko sa code sa app ko?
Suriin muna ang orasan ng device mo: nagbabago ang mga TOTP code kada period, kaya ang orasang lampas ng humigit-kumulang 30 segundo ang pagkakaiba ay magbibigay ng ibang code. Pagkatapos, tiyaking tugma ang algorithm, mga digit at period sa ginamit ng serbisyo.
Compatible ba ang tool na ito sa Google Authenticator at mga katulad na app?
Oo. Sumusunod ito sa RFC 6238 at sa format ng otpauth URI na ginagamit ng mga app na iyon. I-scan ang QR code o i-type ang Base32 secret sa app, at dapat parehong ipakita ang Kasalukuyang code.
Ano ang pagkakaiba ng TOTP at HOTP?
Ang TOTP ay sumusulong ayon sa oras, kaya nag-e-expire ang code pagkatapos ng period. Ang HOTP ay sumusulong ayon sa counter na dumaragdag sa bawat paggamit ng code, kaya nananatiling valid ang code hanggang magamit o mapalitan.
Puwede ko bang gamitin ang tool na ito bilang pang-araw-araw kong authenticator?
Para ito sa pagsubok, development at recovery. Mas ligtas ang phone app o hardware key sa araw-araw na paggamit, dahil hindi kailangang i-paste ang secret sa web page sa tuwing gagamitin.
Nasuri ba ang mga kalkulasyon laban sa mga pamantayan?
Oo. Sinubukan ang tool gamit ang mga halaga ng HOTP sa RFC 4226 Appendix D at mga halaga ng TOTP sa RFC 6238 Appendix B para sa SHA-1, SHA-256 at SHA-512.
Mga kaugnay na tool
- HMAC Generator Kalkulahin ang HMAC-SHA1, SHA-256, SHA-384 o SHA-512 gamit ang text, hex o Base64 na key, kumuha ng hex at Base64 na output, at i-check ang webhook signature.
- Password Generator Libreng password generator para sa malalakas na random na password na 4 hanggang 128 character, gamit ang secure na RNG sa browser. Walang sine-save.
- QR Code Generator Gumawa ng libreng QR code para sa link, text, Wi-Fi, contact, email at SMS. Magdagdag ng kulay at logo, i-download bilang PNG o SVG. Pribado.
- Shamir Secret Sharing Hatiin ang password o recovery phrase sa N share na bubuuin ng alinmang M, gamit ang Shamir's secret sharing sa GF(256), lokal sa iyong browser.