🔢

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ã:

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ử

📋Hướng dẫn sử dụng

1️⃣
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.
2️⃣
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.
3️⃣
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.

User Comments

0 / 2000
Loading...