Trình tạo OTP (TOTP/HOTP)
Cấu hình
Chế độ
Chọn giữa dựa trên thời gian (TOTP) hoặc dựa trên bộ đếm (HOTP)
Thuật toán
Thuật toán băm để tạo OTP
Số chữ số
Số chữ số trong mã OTP
Chu kỳ
Khoảng thời gian hiệu lực của mã TOTP
Khóa bí mật
Mã đã tạo
Cài đặt mã QR
Xác minh mã
Kiểm tra xem mã có hợp lệ với khóa bí mật hiện tại hay không
URI xác thực OTP
Sử dụng URI này hoặc quét mã QR để thêm tài khoản này vào ứng dụng xác thực
Chi tiết kỹ thuật
Cách Trình tạo OTP Hoạt động
Công cụ làm gì
Trình tạo OTP này tạo Mật khẩu dùng một lần dựa trên thời gian (TOTP) và Mật khẩu dùng một lần dựa trên HMAC (HOTP) tương thích với Google Authenticator, Authy và các ứng dụng 2FA khác. Nhập hoặc tạo khóa bí mật Base32, và công cụ sẽ tạo mã 6-8 chữ số thay đổi mỗi 30 hoặc 60 giây đối với TOTP, hoặc tăng theo bộ đếm đối với HOTP. Tất cả phép tính chạy cục bộ trong trình duyệt của bạn bằng Web Crypto API, vì vậy bí mật của bạn không bao giờ rời khỏi thiết bị.
Các trường hợp sử dụng phổ biến cho lập trình viên
Các nhà phát triển dùng trình tạo TOTP trực tuyến để kiểm thử triển khai xác thực hai yếu tố, xác minh rằng các thư viện OTP của họ tạo ra mã đúng và gỡ lỗi luồng xác thực. Khi xây dựng hệ thống 2FA, bạn có thể dùng công cụ này để tạo bí mật thử nghiệm, xác thực triển khai TOTP phía máy chủ và đảm bảo đồng bộ thời gian là chính xác. Công cụ cũng giúp đội QA xác minh quy trình 2FA mà không cần cài ứng dụng xác thực trên thiết bị của họ.
Định dạng Dữ liệu và Tiêu chuẩn
Công cụ OTP triển khai các tiêu chuẩn RFC 6238 (TOTP) và RFC 4226 (HOTP). Khóa bí mật sử dụng mã hóa Base32, là định dạng tiêu chuẩn cho các ứng dụng xác thực. Công cụ hỗ trợ các thuật toán băm SHA-1 (mặc định, tương thích nhất), SHA-256 và SHA-512. Mã đầu ra có thể là 6, 7 hoặc 8 chữ số, trong đó 6 là phổ biến nhất. Định dạng OTP Auth URI (otpauth://totp/...) tương thích với Google Authenticator và các ứng dụng tương tự.
Các lỗi thường gặp và trường hợp biên
Mã TOTP cực kỳ nhạy với thời gian. Nếu đồng hồ máy chủ và máy khách lệch nhau quá 30 giây, xác thực sẽ thất bại. Hầu hết các triển khai cho phép một cửa sổ 1-2 bước thời gian để xử lý độ trôi nhỏ. SHA-1 là thuật toán được hỗ trợ rộng rãi nhất; một số ứng dụng xác thực cũ có thể không hỗ trợ SHA-256 hoặc SHA-512. Hãy đảm bảo khóa bí mật của bạn được mã hóa Base32 đúng cách—các ký tự không hợp lệ sẽ gây lỗi giải mã.
Khi nào nên dùng công cụ này thay vì viết mã
Hãy dùng trình tạo OTP này để kiểm thử, gỡ lỗi và xác minh triển khai 2FA của bạn trong quá trình phát triển. Với hệ thống sản xuất, hãy tạo và xác minh mã OTP trên máy chủ bằng các thư viện đã được kiểm chứng như pyotp (Python), speakeasy (Node.js) hoặc GoogleAuthenticator (nhiều ngôn ngữ). Không bao giờ để lộ khóa bí mật trong mã phía client. Công cụ này lý tưởng cho quy trình phát triển, nhưng ứng dụng của bạn nên xử lý việc xác minh OTP ở phía máy chủ.