0

เครื่องมือสร้าง TOTP — รหัสยืนยันตัวตน 2FA แบบสด

วาง Secret ในรูปแบบ Base32 แล้วดูรหัสยืนยันตัวตน 6 หลักจริงที่เปลี่ยนทุก 30 วินาที — ทั้งหมดทำงานแบบออฟไลน์ในเบราว์เซอร์ของคุณ

🔒 ประมวลผลทั้งหมดในเบราว์เซอร์ของคุณ — ไม่มีการอัปโหลดสิ่งใดที่คุณป้อนที่นี่

- -

30 วินาที

กำลังประมวลผล... 0%

ผลลัพธ์

เครื่องมือนี้สร้างรหัส Time-based One-Time Password (TOTP) ที่สมจริงตามมาตรฐาน จาก Secret แบบ Base32 ซึ่งเป็นรหัส 6 หลักแบบหมุนที่แสดงในแอปอย่าง Google Authenticator หรือ Authy วาง Secret ที่คุณได้รับตอนตั้งค่าการยืนยันตัวตนสองชั้น — ข้อความเดียวกับที่มักซ่อนอยู่หลัง QR Code — แล้วดูรหัสจริงนับถอยหลังและรีเฟรชทุก 30 วินาที เหมือนกับที่แสดงในแอปบนมือถือ เครื่องมือนี้มีไว้สำหรับทดสอบและตรวจสอบ Secret แบบ 2FA ที่คุณเป็นเจ้าของหรือควบคุม: แก้ปัญหากระบวนการเข้าสู่ระบบที่คุณกำลังพัฒนา, ยืนยันรหัสสำรองก่อนทิ้ง QR Code สำหรับตั้งค่า หรือตรวจสอบซ้ำว่า Secret ถูกพิมพ์ถูกต้อง

ภายในแล้วนี่คือการทำงานจริงของ RFC 6238 (TOTP) ซึ่งสร้างบน RFC 4226 (HOTP) ไม่ใช่การนับถอยหลังแค่หน้าตา Secret แบบ Base32 ถูกถอดรหัสตาม RFC 4648 เป็นไบต์คีย์ดิบ, ค่าเวลา Unix ปัจจุบันถูกหารด้วยช่วงเวลาเพื่อให้ได้ตัวนับที่เคลื่อนที่ และตัวนับนั้นถูกเข้ารหัสเป็นบัฟเฟอร์แบบ big-endian ขนาด 8 ไบต์ Web Crypto API ดั้งเดิมของเบราว์เซอร์ (crypto.subtle) จะคำนวณ HMAC บนบัฟเฟอร์นั้นด้วยแฮชที่คุณเลือก — SHA-1 ยังคงเป็นค่าเริ่มต้นที่เกือบทุกที่ใช้เพื่อความเข้ากันได้กับแอปยืนยันตัวตนที่มีอยู่ ส่วน SHA-256 และ SHA-512 มีให้สำหรับการตั้งค่าที่รองรับตัวแปรที่แข็งแกร่งกว่า จากนั้น dynamic truncation ตาม RFC 4226 จะดึงสี่ไบต์จากผลลัพธ์ HMAC ที่ตำแหน่งออฟเซ็ตซึ่งนำมาจากไบต์สุดท้ายของมัน, ปิดบังบิตบนสุด และลดผลลัพธ์ด้วยโมดูโล 10^6 หรือ 10^8 เพื่อให้ได้รหัส 6 หรือ 8 หลัก — เป็นการคำนวณเดียวกับที่แอปยืนยันตัวตนในโทรศัพท์ของคุณทำงานภายใน

ทุกขั้นตอนเกิดขึ้นเฉพาะในเครื่อง: ไม่มีส่วนของเซิร์ฟเวอร์, ไม่มี beacon วิเคราะห์ที่นำ Secret ของคุณไป, และไม่มีการเรียก API ภายนอกใดๆ ทั้งสิ้น ข้อความ Base32 ที่คุณวางในช่องจะถูกประมวลผลโดย JavaScript ในแท็บของคุณโดยตรงและไม่เคยออกจากแท็บนั้น นั่นทำให้เป็นวิธีที่ปลอดภัยสำหรับตรวจสอบ Secret แบบ 2FA บนเครื่องที่คุณเชื่อถือ อย่างไรก็ตาม เช่นเดียวกับเครื่องมือใดๆ ที่เกี่ยวข้องกับข้อมูลยืนยันตัวตน คุณควรหลีกเลี่ยงการวาง Secret บนคอมพิวเตอร์ที่ใช้ร่วมกันหรือสาธารณะ และควรใช้เฉพาะกับรหัสที่ผูกกับบัญชีที่คุณเป็นเจ้าของหรือได้รับอนุญาตให้ทดสอบอย่างชัดเจนเท่านั้น

ตัวควบคุมอัลกอริทึม จำนวนหลัก และช่วงเวลามีให้เพราะการใช้งาน TOTP ในโลกจริงนั้นไม่เหมือนกันทั้งหมด: บริการผู้บริโภคส่วนใหญ่ใช้ SHA-1 กับ 6 หลักและขั้นตอน 30 วินาที แต่เครื่องมือสำหรับองค์กรและนักพัฒนาบางตัวออก Secret แบบ SHA-256 หรือ SHA-512, รหัส 8 หลัก หรือช่วงเวลาที่ไม่เป็นมาตรฐานเช่น 15 หรือ 60 วินาที การตั้งค่าเหล่านี้ให้ตรงกับที่ URI การตั้งค่าหรือหน้า setup ระบุไว้ จะช่วยให้คุณสร้างรหัสที่เหมือนกับที่แอปยืนยันตัวตนจะแสดง ซึ่งมีค่าอย่างยิ่งเมื่อคุณกำลังสร้างเซิร์ฟเวอร์ตรวจสอบ TOTP ของตัวเองและต้องการข้อมูลอ้างอิงที่เชื่อถือได้แบบออฟไลน์เพื่อเปรียบเทียบ