Tạo mã TOTP (mã 2FA)

Tạo mật khẩu dùng một lần theo thời gian (TOTP) từ khóa Base32 với SHA-1/256/512, 6–8 chữ số và chu kỳ tùy chọn. Đếm ngược trực tiếp, đã kiểm chứng theo RFC 6238.

Khóa mà dịch vụ hiển thị khi bạn bật 2FA. Có dấu cách hay chữ thường đều được.

Để trống để dùng thời gian hiện tại.

TOTP (RFC 6238) tính HOTP với bộ đếm T = floor(thời gian Unix / chu kỳ). Hầu hết ứng dụng dùng SHA-1, 6 chữ số và 30 giây. Đồng hồ thiết bị phải chính xác. Khóa không rời khỏi trình duyệt, nhưng hãy giữ nó như mật khẩu.

Chạy hoàn toàn trong trình duyệt. Dữ liệu của bạn không bao giờ bị tải lên.

Tạo mã TOTP (2FA) là gì?

Công cụ này tính ra chính các mã 6–8 chữ số mà ứng dụng xác thực hiển thị, từ một khóa bí mật Base32. Mã được làm mới trực tiếp kèm đồng hồ đếm ngược, hiển thị cả mã trước và mã tiếp theo, và có thể tính mã cho bất kỳ thời điểm Unix nào để kiểm thử máy chủ.

Cách sử dụng Tạo mã TOTP (2FA)

  1. Dán Khóa bí mật (Base32) hoặc nhấn Tạo khóa ngẫu nhiên.
  2. Đặt Thuật toán, Số chữ số và Chu kỳ (giây) khớp với dịch vụ (thường là SHA-1, 6, 30).
  3. Đọc mã hiện tại và số giây còn lại.
  4. Tùy chọn nhập Thời gian Unix (không bắt buộc) để tính mã cho một thời điểm cụ thể.

Ví dụ

Đầu vào
Khóa GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ, SHA-1, 8 chữ số, thời gian Unix 59
Đầu ra
94287082

Test vector trong Phụ lục B của RFC 6238 (khóa là chuỗi ASCII 12345678901234567890 viết bằng Base32).

Khi nào nên dùng Tạo mã TOTP (2FA)

Dùng để kiểm thử một triển khai 2FA, lấy mã trên máy tính khi bạn có khóa bí mật, hoặc để hiểu TOTP hoạt động thế nào. Đừng để khóa bí mật của tài khoản thật trong tab trình duyệt; hãy dùng ứng dụng xác thực hoặc trình quản lý mật khẩu.

Tạo mã TOTP (2FA) hoạt động như thế nào

TOTP (RFC 6238) tính HOTP (RFC 4226) với bộ đếm T = floor(thời gian Unix / chu kỳ): HMAC-SHA-1/256/512 của bộ đếm 8 byte big-endian với khóa là khóa bí mật đã giải mã Base32, sau đó cắt động (offset = nibble cuối) và lấy dư cho 10^số chữ số. HMAC được tính bằng Web Crypto API. Mọi test vector trong Phụ lục B của RFC 6238 đều được tái tạo chính xác.

Các Trường Hợp Sử Dụng Phổ Biến

  • Kiểm thử đăng nhập TOTP trong ứng dụng web đang phát triển
  • Kiểm tra độ lệch đồng hồ máy chủ bằng cách so sánh mã
  • Tái tạo test vector RFC 6238
  • Tạo mã cho tài khoản kiểm thử trong tài liệu CI

Lưu Ý Bảo Mật

Khóa bí mật TOTP nhạy cảm như mật khẩu: ai có nó đều tạo được mã của bạn.

Câu Hỏi Thường Gặp

Vì sao mã của tôi không khớp với ứng dụng?

Hãy kiểm tra thuật toán, số chữ số và chu kỳ có khớp không, và đồng hồ máy tính có chính xác không; lệch 30 giây là mã đã thay đổi.

Khóa bí mật của tôi có bị gửi đi đâu không?

Không. HMAC được tính trong trình duyệt bằng Web Crypto.

Công cụ dùng bảng chữ Base32 nào?

RFC 4648: A–Z và 2–7. Dấu cách, gạch ngang, chữ thường và phần đệm = đều được chấp nhận và bỏ qua.

Khám phá thêm danh mục