Hash/Mật mã
TOTP Generator/Verifier
Mật khẩu dùng một lần dựa trên thời gian (TOTP, RFC 6238) — tạo mã hiện tại từ một secret và xác minh mã đã nhập với dung sai lệch đồng hồ.
------
TOTP (Time-based One-Time Password, RFC 6238) is a two-factor authentication algorithm that generates a one-time code from a secret and the current time. It's exactly what runs under the hood in Google Authenticator, Authy, and similar apps.
How to use it
- Generate: paste a secret key (usually Base32, the same one encoded in a 2FA setup QR code) and the tool shows the current 6-digit code along with the time left before it changes.
- Verify: enter a secret and a code from an authenticator app to check whether they match.
- Verification tolerates a small amount of clock drift — it accepts a code from a neighboring time step, not just the current one.
Common uses
- Debugging your own 2FA implementation on the backend — checking that the server generates and accepts codes correctly.
- Manually generating a code for an account when you don't have your phone with the authenticator app handy.
- Figuring out why an app's code is being rejected by the server (usually the cause is a clock out of sync).
Things to keep in mind
A TOTP code is only valid for a short window (usually 30 seconds) — that time limit is the main protection, not the secret alone.
Code accuracy depends directly on the device's clock being synced; a noticeable clock drift is the most common cause of rejected 2FA codes.
Bài viết về công cụ này: TOTP: mã dùng một lần trong ứng dụng xác thực hoạt động như thế nào
Câu hỏi thường gặp
Vì sao mã được tạo hết hạn nhanh vậy?
Mã TOTP dựa trên thời gian — mặc định xoay vòng mỗi 30 giây, được tính từ thời gian Unix hiện tại và bí mật chung. Cửa sổ ngắn này giới hạn thời gian một mã bị rò rỉ vẫn còn hữu ích.
Điều gì xảy ra nếu đồng hồ thiết bị của tôi không đồng bộ?
TOTP dựa vào việc cả hai bên đồng ý gần đúng về thời gian hiện tại. Hầu hết ứng dụng xác thực và máy chủ cho phép một mức sai lệch đồng hồ nhỏ (thường một bước thời gian), nhưng sai lệch lớn hơn sẽ khiến mã hợp lệ bị từ chối.
Khóa bí mật của tôi có được gửi đi đâu khi tạo mã ở đây không?
Không. Mã TOTP được tính toán hoàn toàn trong trình duyệt của bạn — khóa bí mật không bao giờ rời khỏi thiết bị của bạn.
TOTP có bảo vệ chống lừa đảo (phishing) không?
Không hoàn toàn. Nếu nạn nhân nhập mật khẩu và mã TOTP hiện tại trên trang giả mạo, kẻ tấn công có thể lập tức sử dụng cả hai giá trị trên trang thật trong khi mã vẫn còn hiệu lực. Chỉ có khóa bảo mật phần cứng theo chuẩn FIDO2/WebAuthn mới chống được kiểu tấn công thời gian thực này.
Vì sao máy chủ chấp nhận cả khoảng thời gian trước đó chứ không chỉ khoảng hiện tại?
Điều này bù trừ cho độ trễ mạng nhỏ giữa lúc mã được tạo trên điện thoại và lúc máy chủ nhận và kiểm tra nó. Nếu không có khoảng dung sai này, các mã hợp lệ đôi khi sẽ bị từ chối chỉ vì độ trễ vài giây thông thường.