Trình tạo HMAC
Tính HMAC từ thông điệp và khóa bằng SHA-1, SHA-2 hoặc SHA-3, xác minh với chữ ký kỳ vọng và xuất ra dạng hex hoặc Base64 — ngay trong trình duyệt.
Trình tạo HMAC — Nhập một thông điệp và một khóa bí mật, chọn SHA-1, SHA-256, SHA-384, SHA-512 hoặc một biến thể SHA-3, rồi nhận ngay chữ ký HMAC tương ứng, cập nhật trực tiếp khi bạn gõ. Diễn giải khóa dưới dạng UTF-8, thập lục phân hoặc Base64, xuất kết quả dưới dạng thập lục phân chữ thường hoặc chữ hoa hoặc Base64, và dán một giá trị kỳ vọng để xác minh bằng phép so sánh thời gian hằng số. Mọi thứ chạy cục bộ — SHA-2 qua Web Crypto API và SHA-3 qua WebAssembly trong trình duyệt — nên thông điệp và khóa của bạn không bao giờ rời khỏi trình duyệt.
Trình tạo HMAC là gì?
Trình tạo HMAC là một công cụ trực tuyến miễn phí tính mã xác thực thông điệp dựa trên băm có khóa (HMAC) từ bất kỳ thông điệp văn bản nào và một khóa bí mật chia sẻ. Nó hỗ trợ SHA-1, SHA-256, SHA-384 và SHA-512 qua Web Crypto API, cùng họ SHA-3 — SHA3-224, SHA3-256, SHA3-384 và SHA3-512 — và xuất chữ ký dưới dạng thập lục phân (chữ thường hoặc chữ hoa) hoặc Base64. Bạn có thể diễn giải khóa như văn bản UTF-8, thập lục phân hoặc byte Base64, và chuyển sang chế độ xác minh bằng cách dán một HMAC kỳ vọng, được kiểm tra bằng phép so sánh thời gian hằng số để chống tấn công thời gian. Các nhà phát triển dùng nó để ký các tải trọng webhook, tạo và xác minh chữ ký yêu cầu API, sinh token chống giả mạo, hoặc xác nhận một giá trị khớp với chữ ký từ hệ thống khác. Chữ ký được tính lại trực tiếp khi bạn chỉnh sửa bất kỳ trường nào và chạy hoàn toàn trong trình duyệt. Các tìm kiếm phổ biến gồm "hmac sha256 generator", "hmac sha3", "hmac base64" và "hmac verify online".
Cách sử dụng Trình tạo HMAC
- Gõ hoặc dán thông điệp bạn muốn ký vào ô Nhập liệu.
- Nhập khóa bí mật chia sẻ của bạn, và trong Tùy chọn hãy chọn nó là UTF-8, thập lục phân hay Base64.
- Chọn thuật toán băm — SHA-1, SHA-256, SHA-384, SHA-512 hoặc một biến thể SHA-3 — từ menu thả xuống.
- Chuyển đầu ra giữa Hex và Base64, và bật thập lục phân chữ hoa trong Tùy chọn nếu cần.
- Xem HMAC tự động cập nhật rồi nhấp Sao chép, hoặc dán một HMAC kỳ vọng vào trường xác minh để kiểm tra sự khớp.
Ví dụ
HMAC-SHA256 dạng hex
Đầu vào
thông điệp: The quick brown fox khóa: secret thuật toán: SHA-256 mã hóa: Hex
Đầu ra
7a284e5025f32a846fa3e6957d10278eb5726dd4e0b04c8e0259defcd2cd0eb1
Cùng đầu vào ở dạng Base64
Đầu vào
thông điệp: The quick brown fox khóa: secret thuật toán: SHA-256 mã hóa: Base64
Đầu ra
eihOUCXzKoRvo+aVfRAnjrVybdTgsEyOAlne/NLNDrE=
Xác minh một chữ ký
Dán HMAC kỳ vọng vào trường xác minh; khi nó khớp với chữ ký đã tính, công cụ báo khớp, dùng phép so sánh thời gian hằng số. Thập lục phân được so sánh không phân biệt chữ hoa chữ thường.
Câu hỏi thường gặp
- Những thuật toán băm và cách mã hóa nào được hỗ trợ?
- SHA-1, SHA-256, SHA-384 và SHA-512 (qua Web Crypto API) và họ SHA-3 (SHA3-224, SHA3-256, SHA3-384, SHA3-512). Chữ ký hiển thị dưới dạng thập lục phân — chữ thường hoặc chữ hoa — hoặc Base64, và khóa có thể được diễn giải là UTF-8, thập lục phân hoặc Base64.
- Thông điệp và khóa bí mật của tôi có được tải lên đâu đó không?
- Không. HMAC được tính 100% phía máy khách: SHA-2 bằng Web Crypto API và SHA-3 bằng WebAssembly trong trình duyệt. Cả thông điệp lẫn khóa đều không bao giờ được gửi đến máy chủ, nên có thể dùng an toàn với khóa thật.
- Chế độ xác minh hoạt động như thế nào?
- Dán giá trị bạn kỳ vọng vào trường xác minh. Công cụ so sánh nó với HMAC vừa tính bằng một thuật toán thời gian hằng số không bao giờ thoát sớm, nên thời gian so sánh không tiết lộ nơi xảy ra sai lệch. Thập lục phân được so sánh không phân biệt chữ hoa chữ thường.
- Khóa bí mật được xử lý như thế nào?
- Theo mặc định, khóa là văn bản UTF-8, nhưng bạn có thể chuyển sang thập lục phân hoặc Base64 trong Tùy chọn để giải mã chính xác các khóa nhị phân. Trường khóa là ô nhập mật khẩu — được che trên màn hình và bị loại khỏi trạng thái không gian làm việc đã lưu — và chỉ được dùng trong trình duyệt của bạn.
- Tại sao HMAC của tôi khác với của công cụ khác?
- Một HMAC phụ thuộc chính xác vào các byte của thông điệp, các byte của khóa và hàm băm được chọn. Khoảng trắng ở cuối, một thuật toán khác, hex so với Base64, hex chữ hoa so với chữ thường, hoặc cách mã hóa khóa khác đều sẽ làm thay đổi kết quả.
Công cụ liên quan
Mã hóa văn bản AES (AES-GCM + PBKDF2)
Mã hóa và giải mã văn bản bằng AES-256-GCM với khóa được suy ra từ cụm mật khẩu (PBKDF2 SHA-256, muối ngẫu nhiên), hoàn toàn trong trình duyệt của bạn và không tải lên gì cả.
Hash Argon2 & scrypt
Băm một mật khẩu bằng Argon2id hoặc scrypt và xác minh một hash Argon2 với một mật khẩu, hoàn toàn trong trình duyệt của bạn.
Trình tạo và xác minh hash Bcrypt
Tạo hash mật khẩu bcrypt từ văn bản thuần với hệ số chi phí bạn chọn, hoặc xác minh một mật khẩu với một hash bcrypt đã có, hoàn toàn trong trình duyệt của bạn.
Trình tạo mnemonic BIP39
Tạo một cụm từ khôi phục BIP39 ngẫu nhiên gồm 12 đến 24 từ ở nhiều ngôn ngữ, hoặc chuyển một mnemonic hiện có trở lại entropy thô của nó, hoàn toàn trong trình duyệt của bạn.