Tạo HMAC 🔒 Chạy ngay trong trình duyệt — không tải lên bất cứ thứ gì.

Tính chữ ký HMAC bằng SHA-256/384/512.

    

So sánh bỏ qua hoa thường và tiền tố "sha256=", nên bạn có thể dán nguyên giá trị header.

Về công cụ này

HMAC chứng minh một thông điệp đến từ ai đó biết bí mật chung và chưa bị sửa đổi — cơ chế đằng sau webhook có chữ ký, ký request API và nhiều lược đồ token. Nhập thông điệp và khóa bí mật, chọn SHA-256, SHA-384 hoặc SHA-512, và nhận chữ ký dạng hex hoặc Base64.

Việc tính toán dùng Web Crypto API sẵn có của trình duyệt và diễn ra hoàn toàn trên thiết bị bạn, nên khóa bí mật không bao giờ bị truyền đi. Nó cập nhật trực tiếp khi bạn gõ.

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

HMAC dùng để làm gì?

HMAC (mã xác thực thông điệp dựa trên hàm băm) chứng minh cả hai điều: thông điệp không bị thay đổi, và nó đến từ người biết khóa bí mật dùng chung — đây là cách các dịch vụ như Stripe hay GitHub ký các payload webhook để bạn xác minh tính xác thực.

HMAC có giống với việc chỉ băm (hash) thông điệp không?

Không. Một hàm băm đơn thuần (SHA-256 chỉ trên thông điệp) thì ai cũng tính lại được, nên nó không chứng minh được nguồn gốc. HMAC trộn thêm một khóa bí mật theo cách chống được kiểu tấn công length-extension, nên chỉ ai giữ khóa mới tạo ra được chữ ký hợp lệ.

Khóa bí mật của tôi có được gửi đi đâu không?

Không. HMAC được tính toán cục bộ bằng Web Crypto API (crypto.subtle) của trình duyệt. Khóa và thông điệp của bạn không bao giờ rời khỏi thiết bị.

Vì sao dù đã copy đúng mà việc xác minh chữ ký vẫn báo "không khớp"?

Header webhook thường có tiền tố như sha256=<hex>, khác chữ hoa/thường, hoặc có khoảng trắng thừa xung quanh. Công cụ xác minh tự động chuẩn hoá chữ hoa/thường và bỏ tiền tố algorithm=, nhưng hãy kiểm tra lại xem bạn đã chọn đúng thuật toán băm và cách mã hoá khóa (UTF-8/Hex/Base64) mà bên gửi đã dùng chưa.

Tôi nên chọn kiểu mã hoá khóa nào?

Hầu hết API cung cấp chuỗi bí mật dạng UTF-8 thuần (ví dụ whsec_...) — hãy chọn UTF-8. Chỉ chọn Hex hoặc Base64 khi tài liệu của nhà cung cấp nói rõ khóa được mã hoá theo kiểu đó.