Trình tạo mã TOTP — Mã xác thực 2FA trực tiếp
Dán mã bí mật TOTP dạng Base32 vào và xem mã xác thực 6 chữ số thực tế, trực tiếp thay đổi sau mỗi 30 giây — tất cả đều ngoại tuyến ngay trong trình duyệt của bạn.
🔒 Được xử lý hoàn toàn trong trình duyệt của bạn — không có nội dung nào bạn nhập ở đây được tải lên.
Kết quả
Công cụ này tạo mã xác thực một lần theo thời gian (TOTP) thực sự, tuân thủ tiêu chuẩn, từ một mã bí mật dạng Base32 — cùng loại mã 6 chữ số xoay vòng hiển thị trong các ứng dụng như Google Authenticator hay Authy. Chỉ cần dán mã bí mật bạn nhận được khi thiết lập xác thực hai yếu tố — thường là chuỗi ẩn sau mã QR — và xem mã trực tiếp đếm ngược rồi tự làm mới sau mỗi 30 giây, y hệt như trong ứng dụng trên điện thoại. Công cụ này hữu ích cho việc kiểm thử và xác minh các mã bí mật 2FA mà bạn sở hữu hoặc kiểm soát: gỡ lỗi luồng đăng nhập bạn đang xây dựng, xác nhận mã dự phòng trước khi hủy mã QR cấp phát, hoặc kiểm tra lại xem mã bí mật đã được nhập đúng chưa.
Đằng sau hậu trường, đây là bản triển khai chính xác của RFC 6238 (TOTP) được xây dựng trên RFC 4226 (HOTP), không phải đồng hồ đếm ngược mang tính hình thức. Mã bí mật Base32 được giải mã theo RFC 4648 thành các byte khóa thô, thời gian Unix hiện tại được chia cho bước thời gian để có bộ đếm di chuyển, và bộ đếm đó được mã hóa thành bộ đệm big-endian 8 byte. API Web Crypto gốc của trình duyệt (crypto.subtle) tính toán HMAC trên bộ đệm đó với hàm băm bạn chọn — SHA-1 vẫn là mặc định gần như phổ quát để tương thích với các ứng dụng xác thực hiện có, trong khi SHA-256 và SHA-512 được cung cấp cho các thiết lập hỗ trợ các biến thể mạnh hơn. Sau đó, phép cắt động của RFC 4226 lấy bốn byte từ đầu ra HMAC tại vị trí bù dựa trên byte cuối cùng của nó, che bit cao nhất và rút gọn kết quả theo mô-đun 10^6 hoặc 10^8 để tạo ra mã 6 hoặc 8 chữ số — chính xác cùng một phép toán mà ứng dụng xác thực trên điện thoại của bạn chạy bên trong.
Mọi phần của quy trình đều diễn ra cục bộ: không có máy chủ, không có đèn hiệu phân tích nào mang mã bí mật của bạn, và không có bất kỳ lệnh gọi API ngoài nào. Văn bản Base32 bạn dán vào ô được phân tích trực tiếp bằng JavaScript chạy trong tab của bạn và không bao giờ rời khỏi đó. Điều này khiến đây là cách an toàn để kiểm tra nhanh một mã bí mật 2FA trên máy bạn tin tưởng, mặc dù như với mọi công cụ chạm tới vật liệu xác thực, bạn vẫn nên tránh dán mã bí mật trên máy tính dùng chung hoặc công cộng và chỉ nên sử dụng công cụ này với các mã gắn với tài khoản bạn sở hữu hoặc được ủy quyền rõ ràng để kiểm thử.
Các tùy chọn điều chỉnh thuật toán, số chữ số và bước thời gian tồn tại vì các triển khai TOTP trong thực tế không hoàn toàn đồng nhất: hầu hết dịch vụ dành cho người dùng cuối đều dùng SHA-1 với 6 chữ số và bước 30 giây, nhưng một số công cụ doanh nghiệp và nhà phát triển cấp mã bí mật SHA-256 hoặc SHA-512, mã 8 chữ số, hoặc các bước thời gian phi tiêu chuẩn như 15 hay 60 giây. Việc khớp các thiết lập này với những gì một URI cấp phát hoặc trang cài đặt chỉ định cho phép bạn tái tạo chính xác mã mà ứng dụng xác thực của bạn sẽ hiển thị, vô cùng hữu ích khi bạn đang tự triển khai máy chủ xác minh TOTP và cần một tham chiếu ngoại tuyến đáng tin cậy để so sánh.