TOTP & HOTP

TOTP (รหัสผ่านแบบใช้ครั้งเดียวอ้างอิงเวลา, RFC 6238) และ HOTP (รหัสผ่านแบบใช้ครั้งเดียวอ้างอิง HMAC, RFC 4226) คือ RFC สองตัวที่ QR ลงทะเบียน 2FA ทุกตัวใช้งาน scheme URI otpauth:// ที่เข้ารหัสคือมาตรฐาน de facto ของ Google Authenticator และเข้ากันได้กับทุกแอปยืนยันตัวตนหลัก

ข้อกำหนด TOTP:RFC 6238 (อ้างอิงเวลา, 2011).
ข้อกำหนด HOTP:RFC 4226 (อ้างอิงตัวนับ, 2005).
URI scheme:Google Authenticator Key URI Format, รูปแบบที่ทุกแอปยืนยันตัวตนยอมรับ

ภาพรวม

QR ลงทะเบียน 2FA คือ URL ใน scheme otpauth:// ที่บรรจุ shared secret พร้อมข้อมูลเมตาสำหรับระบุตัวตน รูปแบบ:

otpauth://TYPE/LABEL?secret=SECRET&issuer=ISSUER&algorithm=ALG&digits=N&period=SEC

Test vector มาตรฐาน

กรณีข้อมูลนำเข้าURI otpauth:// ที่คาดหวัง
TOTP, ขั้นต่ำ (SHA1, 6 หลัก, 30 วินาที)issuer=GitHub
account=alice@example.com
secret=JBSWY3DPEHPK3PXP
otpauth://totp/GitHub:alice@example.com?secret=JBSWY3DPEHPK3PXP&issuer=GitHub
TOTP, SHA256, 8 หลักissuer=Corp
account=bob
secret=JBSWY3DPEHPK3PXP
algorithm=SHA256
digits=8
otpauth://totp/Corp:bob?secret=JBSWY3DPEHPK3PXP&issuer=Corp&algorithm=SHA256&digits=8
HOTP, counter=0issuer=YubiKey
account=carol
secret=JBSWY3DPEHPK3PXP
counter=0
otpauth://hotp/YubiKey:carol?secret=JBSWY3DPEHPK3PXP&issuer=YubiKey&counter=0
TOTP, secret อ้างอิง RFC 6238issuer=Example
account=test
secret=GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ
digits=8
Secret ทดสอบ RFC มาตรฐาน (12345678901234567890) สร้าง TOTP 94287082 ที่ T=59 วินาที

ตัวตรวจสอบ secret Base32 สด

แอปยืนยันตัวตนปฏิเสธ secret ที่มีตัวอักษรนอกเหนือจากตัวอักษร Base32 (A-Z, 2-7) ด้านล่างคือตัวตรวจสอบเดียวกับที่ Abundera ใช้ inline ในตัวสร้าง TOTP ทำงานในเบราว์เซอร์

ใส่ secret เพื่อตรวจสอบ

จุดที่มักพลาด

ความเข้ากันได้ของแอปยืนยันตัวตน

แอปTOTP SHA1TOTP SHA256/512HOTP8 หลักหมายเหตุ
Google Authenticatorใช่ไม่สนใจใช่ไม่สนใจมาตรฐาน de facto เป้าหมายแรกเสมอ
1Passwordใช่ใช่ใช่ใช่รองรับ RFC ครบถ้วน
Authyใช่ใช่ไม่ใช่ตัดออก HOTP ในเวอร์ชันใหม่
Bitwardenใช่ใช่ใช่ใช่รองรับ RFC ครบถ้วน
Microsoft Authenticatorใช่ใช่ใช่ใช่รองรับ RFC ครบถ้วน
YubiKey Authenticatorใช่ใช่ใช่ใช่HOTP คือโหมดมาตรฐานของ YubiKey OATH
Duo Mobileใช่ไม่สนใจไม่ไม่สนใจใช้ push flow ของตัวเอง TOTP เป็นเพียง fallback

ดูเพิ่มเติม

ตรวจสอบอ้างอิงข้อกำหนด 2026-04-18. RFC 6238 (2011), RFC 4226 (2005), Google Key URI Format.