Công cụ tạo HMAC — SHA-256, SHA-512 & SHA-1

Tính chữ ký HMAC có khóa cho các yêu cầu API và webhook, rồi kiểm tra xem chữ ký nhận được có hợp lệ hay không. Công cụ dùng Web Crypto API ngay trên trình duyệt của bạn.

Cập nhật
Thuật toán

🔒 Chạy cục bộ bằng Web Crypto API của trình duyệt — nội dung bạn nhập không được gửi lên máy chủ nào.

Dữ liệu của bạn không bao giờ rời khỏi máy tính. Mọi xử lý diễn ra 100% cục bộ trong trình duyệt của bạn.

Công cụ này có hữu ích không?0.0 0 lượt đánh giá
Tạo mã hash MD5, SHA-1SHA-256, SHA-384 và SHA-512 từ văn bản hoặc file trực tuyến.Tạo mã Hash →

Cách dùng Tạo HMAC Online

  1. Dán thông điệp đúng như khi ký — với webhook, đó là raw body của request.
  2. Nhập secret key và chọn kiểu mã hóa của khóa.
  3. Chọn thuật toán băm; giá trị HMAC sẽ cập nhật ngay lập tức.
  4. Dán chữ ký nhận được vào Chữ ký mong đợi để xác minh.

HMAC là gì?

HMAC (Hash-based Message Authentication Code, RFC 2104) kết hợp một khóa bí mật với hàm băm để tạo ra chữ ký. Ai có khóa đều tính được cùng một giá trị; ai không có khóa thì không thể làm giả. API dùng HMAC để ký request (AWS Signature v4, nhiều cổng thanh toán), còn webhook dùng HMAC để bạn chứng minh callback thực sự đến từ bên gửi.

Xác minh webhook

Dịch vụHeaderThuật toán / mã hóa
GitHubX-Hub-Signature-256HMAC-SHA256, hex, có tiền tố sha256=
StripeStripe-SignatureHMAC-SHA256 dạng hex của timestamp.body
ShopifyX-Shopify-Hmac-Sha256HMAC-SHA256, Base64
SlackX-Slack-SignatureHMAC-SHA256 dạng hex của v0:timestamp:body

Lý do phổ biến nhất khiến chữ ký không khớp là nội dung đã bị thay đổi trước khi ký: JSON bị parse rồi serialize lại, hoặc khác khoảng trắng và ký tự xuống dòng. Luôn ký trên raw bytes bạn nhận được. Công cụ xác minh ở trên chấp nhận hex (có hoặc không có sha256=), Base64 và Base64url.

HMAC so với hash thông thường

Một hash SHA-256 thông thường chỉ chứng minh tính toàn vẹn, không chứng minh tính xác thực: ai cũng có thể tính lại sau khi sửa thông điệp. HMAC có kèm khóa bí mật, nên chỉ người giữ khóa mới tạo được giá trị hợp lệ. Hãy dùng khóa có số byte ngẫu nhiên ít nhất bằng độ dài đầu ra của hash (32 byte với SHA-256). Trong code phía server, nên so sánh chữ ký bằng hàm thời gian không đổi như crypto.timingSafeEqual.

Với hash không dùng khóa, hãy dùng công cụ tạo hash; với token có chữ ký, dùng JWT encoder.

Cũng được tìm dưới tên: hmac sha256 online, hmac generator, kiểm tra chữ ký hmac, xác minh webhook signature, hmac sha512, verify hmac.

Các công cụ dùng kèm tốt với Tạo HMAC Online

  • Giải mã JWT — Dán JSON Web Token vào đây để xem header và payload, kiểm tra thời điểm hết hạn và xác minh chữ ký.
  • Mã hóa / Giải mã Base64 — Chuyển văn bản sang Base64 và ngược lại với hỗ trợ đầy đủ UTF-8 (dấu tiếng Việt, emoji), chuyển sang Base64 an toàn cho URL, hoặc thả tệp vào để lấy chuỗi Base64 hay data URI.
  • Mã hóa & Giải mã AES — Bảo vệ ghi chú, thông tin bí mật hoặc giá trị cấu hình bằng mật khẩu với AES-256, hoặc giải mã văn bản được tạo bởi openssl enc.
  • Kiểm tra IBAN — Kiểm tra IBAN có hợp lệ không trước khi bạn chuyển tiền hoặc lưu lại: quốc gia, độ dài theo quy định của quốc gia đó, định dạng số tài khoản và checksum mod-97.

Câu hỏi thường gặp

Tại sao HMAC của tôi không khớp với chữ ký webhook?
Thường là do thông điệp khác nhau: body phải là raw bytes nhận được, không phải JSON đã được parse và chuyển lại thành chuỗi. Ngoài ra, hãy kiểm tra lại thuật toán, kiểu mã hóa khóa và tiền tố như sha256=.
HMAC-SHA1 còn an toàn không?
HMAC-SHA1 vẫn được coi là an toàn cho xác thực, khác với SHA-1 thông thường khi dùng cho chữ ký. Tuy nhiên, các hệ thống mới nên dùng HMAC-SHA256.
Secret key của tôi có bị gửi đi đâu không?
Không. HMAC được tính ngay trên trình duyệt của bạn bằng Web Crypto API.
Đầu ra hex và Base64 khác nhau thế nào?
Cả hai mã hóa cùng một dãy byte theo cách khác nhau. Với SHA-256, hex dài 64 ký tự, còn Base64 dài 44 ký tự. Hãy dùng định dạng mà hệ thống nhận yêu cầu.
Tôi có thể cài Tạo HMAC Online như một ứng dụng web và dùng khi không có mạng không?
Có. Tạo HMAC Online là một ứng dụng web (PWA) có thể cài đặt — cài trực tiếp từ trình duyệt, không cần tải từ cửa hàng ứng dụng. Trên Chrome hoặc Edge (Windows, macOS, Linux, ChromeOS) hoặc Android, bấm Cài đặt ứng dụng ở đầu trang này; trên iPhone và iPad, dùng Chia sẻ → Thêm vào Màn hình chính; trên Mac, dùng File → Add to Dock trong Safari 17 trở lên. Sau đó ứng dụng mở trong cửa sổ riêng với biểu tượng riêng, và vì chạy hoàn toàn trên trình duyệt nên vẫn hoạt động khi không có mạng. Firefox trên máy tính không thể cài ứng dụng web. Cách cài đặt hoạt động thế nào.

Công cụ liên quan