Công cụ này làm gì
Phần lớn mã đăng nhập hai bước là mã TOTP: sáu chữ số đổi mỗi 30 giây, tạo từ một khóa bí mật chung và thời gian hiện tại. Công cụ này tạo đúng những mã đó ngay trong trình duyệt. Dán khóa bí mật (viết bằng Base32, gồm chữ A đến Z và chữ số 2 đến 7) hoặc cả liên kết otpauth://, bạn sẽ thấy mã hiện tại cùng vòng đếm ngược đến mã kế tiếp, kèm mã trước và mã sau. Công cụ dành cho lập trình viên xây dựng hoặc kiểm thử đăng nhập hai bước, để kiểm tra khóa đã chép đúng chưa, và cho ai đã lưu khóa và cần một mã.
Mã được tạo thế nào
Khóa được đổi thành byte. Số chu kỳ trọn vẹn kể từ 1/1/1970 (UTC) thành bộ đếm 8 byte. HMAC của bộ đếm với khóa cho giá trị 20 byte (SHA-1). Bốn bit cuối chọn vị trí, bốn byte từ đó được đọc thành một số bỏ bit cao nhất, và phần dư khi chia cho một triệu (với sáu chữ số) là mã, thêm số 0 ở đầu nếu cần. Ví dụ kiểm tra: khóa thử của RFC 6238 là chuỗi 12345678901234567890, viết Base32 là GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ. Ở giây thứ 59 bộ đếm là 1, với SHA-1 và tám chữ số mã là 94287082; với sáu chữ số là 287082.
Thuật toán, số chữ số, chu kỳ và liên kết otpauth
Dịch vụ mô tả khóa bằng liên kết otpauth, chính là nội dung mã QR ở màn hình cài đặt. Liên kết có thể mang nhà cung cấp, tên tài khoản, thuật toán, số chữ số (6 đến 8) và chu kỳ. Một số ứng dụng bỏ qua các tùy chọn này và luôn dùng SHA-1, sáu chữ số, 30 giây; nếu mã khác với ứng dụng, hãy thử mặc định đó. Để đọc liên kết từ ảnh QR, dùng công cụ quét mã QR rồi dán vào đây. Liên kết cho mã theo bộ đếm (HOTP) bị từ chối.
An toàn
Khóa TOTP quý như mật khẩu: ai có nó sẽ tạo được mã của bạn mãi mãi. Đừng dán khóa của tài khoản thật, như ngân hàng hay email chính, vào bất kỳ trang web nào, kể cả trang này. Trang chạy trong trình duyệt, không gửi khóa đi, không lưu vào bộ nhớ hay thanh địa chỉ và quên khóa khi bạn đóng tab, nhưng bạn không thể tự kiểm chứng điều đó từ bên ngoài. Hãy dùng cho tài khoản thử nghiệm; khóa thật nên để trong ứng dụng xác thực hoặc trình quản lý mật khẩu. Xem thêm công cụ tạo mật khẩu và mã hóa văn bản.
Khi mã bị từ chối
Mã phụ thuộc vào đồng hồ thiết bị. Nếu đồng hồ lệch một phút, mã thuộc chu kỳ khác và dịch vụ từ chối; hãy bật giờ tự động. Mã trước và mã sau được hiển thị để bạn thấy dịch vụ có chấp nhận chu kỳ lân cận không. Hãy kiểm tra khóa có sót ký tự: khóa sai vẫn cho ra mã, chỉ là mã không đúng.