🔢
Trình tạo & xác thực mã OTP
Trình tạo và kiểm tra mã OTP
Cấu hình
Loại OTP:
TOTP (Dựa trên thời gian)
Thuật toán:
SHA1
Chữ số:
Khoảng thời gian (giây) (TOTP):
Khóa bí mật:
Tạo
Kiểm tra
Nhập mã:
Ghi chú
Khóa bí mật phải được giữ kín và không truyền trong môi trường thiếu an toàn. Công cụ này dùng cho mục đích minh họa/kiểm thử, không dành cho sản xuất. Khi triển khai thực tế, hãy sử dụng thư viện OTP đã được kiểm chứng (speakeasy, otplib...) và lưu trữ khóa bí mật bằng cách an toàn (biến môi trường, hệ thống quản lý bí mật). Không ghi khóa vào console hoặc log.
❓Mã OTP là gì
OTP (One-Time Password) là mật khẩu tạm thời chỉ dùng một lần cho đăng nhập hoặc giao dịch. Các mã được tạo bằng HMAC và khóa bí mật, tạo nền tảng cho xác thực hai yếu tố trong ngân hàng, đám mây và doanh nghiệp.
✨Tính năng
⏰
Hỗ trợ TOTP
Sinh mã dựa trên thời gian, tự động hết hạn sau 30 giây cho 2FA an toàn
🔢
Hỗ trợ HOTP
Tạo mã dựa trên bộ đếm, phù hợp token phần cứng hoặc môi trường offline
🔒
Đa thuật toán
Hỗ trợ SHA-1, SHA-256, SHA-512 với độ dài 6-8 chữ số tùy chỉnh
✅
Xác minh tức thì
Kiểm tra mã OTP với cửa sổ thời gian/bộ đếm linh hoạt cho mục đích kiểm thử
🎯
Use Cases
WEB
Web debugging
Use OTP Code Generator & Validator to inspect browser, HTTP, API, storage, or configuration behavior while diagnosing frontend and backend integration issues.
QA
Pre-release checks
OTP Code Generator & Validator is useful before release when validating headers, browser data, URLs, CORS settings, API behavior, or client-side assumptions.
TEAM
Support and handoff
Create reproducible examples with OTP Code Generator & Validator for bug reports, support tickets, implementation guides, and team knowledge base articles.
📋Hướng dẫn sử dụng
Thiết lập tham số
Chọn loại OTP (TOTP/HOTP), thuật toán (SHA-1/SHA-256/SHA-512), số chữ số (6-8) và nhập khóa bí mật.
Sinh mã
Nhấn "Sinh mã" để tạo OTP. TOTP tự làm mới mỗi 30 giây; HOTP cần tăng bộ đếm thủ công.
Xác minh mã
Nhập khóa bí mật và mã cần kiểm tra, sau đó nhấn "Kiểm tra mã" để xác minh.
📚Giới thiệu kỹ thuật
🔐Mã OTP là gì
OTP (One-Time Password) là mã xác thực tạm thời được tạo bằng thuật toán mật mã và khóa bí mật chia sẻ. Mỗi mã chỉ dùng một lần, có thời hạn ngắn nên chống được phishing, keylogger và replay.
⏰TOTP (Time-based OTP)
TOTP dựa trên thời gian hiện tại và khóa bí mật. HMAC-SHA1/SHA256/SHA512 băm giá trị thời gian (mỗi 30 giây) cùng khóa để sinh mã, sau đó cắt lấy 6-8 chữ số. Mã tự hết hạn khi qua cửa sổ thời gian.
🔢HOTP (HMAC-based OTP)
HOTP dùng bộ đếm tăng dần kết hợp khóa bí mật. Mỗi lần dùng mã, bộ đếm tăng 1, đảm bảo mã mới khác mã cũ. Phù hợp môi trường ngoại tuyến nhưng cần đồng bộ bộ đếm giữa client và server.
🛡️Bảo mật & xác minh
Bảo mật phụ thuộc vào độ bí mật của khóa và thuật toán HMAC. Khi xác minh, máy chủ tính lại mã với cùng tham số và so sánh. Thực tế thường cho phép lệch thời gian nhỏ (TOTP) hoặc bộ đếm dự phòng (HOTP).
❓
Câu hỏi thường gặp
❓
Khác biệt giữa TOTP và HOTP?
TOTP dựa trên thời gian, tự đổi mã mỗi ~30 giây. HOTP dựa trên bộ đếm và phải tăng thủ công. TOTP phổ biến trên app 2FA, HOTP phù hợp token phần cứng/offline.
💬
Lấy khóa bí mật ở đâu?
Dịch vụ cung cấp khóa khi bạn bật 2FA, thường dưới dạng QR hoặc chuỗi Base32. Khi thử nghiệm có thể tự sinh, nhưng sản xuất phải dùng khóa do dịch vụ cung cấp.
🔍
Nên chọn thuật toán nào?
SHA-1 được hỗ trợ rộng nhất và tương thích hầu hết hệ thống. SHA-256/SHA-512 mạnh hơn nhưng có thể không được hỗ trợ bởi hệ thống cũ.
💡
Vì sao mã khác Google Authenticator?
Nguyên nhân chính là lệch thời gian. Hãy đồng bộ đồng hồ thiết bị/server và đảm bảo cùng khóa, thuật toán, số chữ số và chu kỳ.
📚
Có dùng công cụ này cho sản xuất không?
Không. Đây là công cụ học tập/kiểm thử. Trong sản xuất hãy dùng thư viện OTP chuyên dụng và quản lý khóa bí mật an toàn.
💡Cách sử dụng
1️⃣
Kiểm thử 2FA
Khi tích hợp 2FA, nhập khóa bí mật và dùng công cụ để sinh, xác minh mã nhằm kiểm chứng logic.
2️⃣
Đối chiếu với ứng dụng Auth
So sánh mã sinh ra với Google Authenticator, Authy... để đảm bảo đồng bộ.
3️⃣
Kiểm tra cửa sổ thời gian
Tạo và kiểm tra mã ở các thời điểm khác nhau để đánh giá khả năng chấp nhận lệch thời gian.
4️⃣
So sánh thuật toán
Sinh mã với SHA-1/SHA-256/SHA-512 để hiểu sự khác biệt và mức độ hỗ trợ.
5️⃣
Quản lý bộ đếm HOTP
Tăng bộ đếm sau mỗi lần sinh để đảm bảo chuỗi mã HOTP luôn khớp giữa client và server.
🔗Related Documents
📦Thành phần gợi ý
User Comments
Loading...