Trình tạo & xác minh HMAC
Tạo và xác minh mã xác thực thông điệp HMAC với SHA-256, SHA-384, SHA-512 hoặc SHA-1 bằng khóa bí mật, hoàn toàn trong trình duyệt của bạn.
🔒 Được xử lý hoàn toàn trong trình duyệt của bạn — không có nội dung nào bạn nhập ở đây được tải lên.
Kết quả
HMAC (Mã xác thực thông điệp dựa trên băm) là một cấu trúc mật mã có khóa kết hợp khóa bí mật với thông điệp qua hàm băm như SHA-256. Không giống hàm băm thuần túy mà ai cũng có thể tính lại từ thông điệp, HMAC chỉ có thể được tái tạo bởi người giữ cùng khóa bí mật — đó là điều khiến nó trở thành mã xác thực chứ không chỉ là mã kiểm tra.
Đây là khác biệt cơ bản so với hàm băm thuần túy: công cụ Hash Generator của chúng tôi tính các hàm băm không khóa như MD5 hay SHA-256, rất tốt để phát hiện lỗi ngẫu nhiên nhưng không chứng minh được gì về nguồn gốc dữ liệu, vì bất kỳ ai cũng có thể tạo ra cùng một giá trị băm. HMAC chứng minh cả tính toàn vẹn (thông điệp không bị thay đổi) lẫn tính xác thực (người ký biết bí mật chung), đó là lý do HMAC là khối xây dựng chuẩn đằng sau ký yêu cầu API, các thuật toán HS256/HS384/HS512 của JWT, và xác thực bản ghi TLS.
Trường hợp sử dụng thực tế phổ biến nhất là xác minh chữ ký webhook. Các dịch vụ như Stripe, GitHub và Shopify ký mỗi tải trọng webhook bằng HMAC-SHA256 với một bí mật do bạn định cấu hình, và gửi chữ ký kết quả trong một tiêu đề yêu cầu. Máy chủ của bạn cần tính lại HMAC trên tải trọng thô với cùng bí mật và so sánh với giá trị tiêu đề — nếu khớp, bạn biết yêu cầu thực sự đến từ dịch vụ đó và không bị can thiệp trên đường truyền. Chế độ xác minh của công cụ này tái hiện chính xác bước kiểm tra đó: dán tải trọng, bí mật chung và chữ ký nhận được để nhận ngay kết quả khớp hoặc không khớp.
Mọi thứ chạy cục bộ thông qua Web Crypto API gốc của trình duyệt (crypto.subtle.importKey và crypto.subtle.sign), vì vậy khóa bí mật, nội dung thông điệp và chữ ký kết quả không bao giờ rời khỏi máy của bạn — không gì được tải lên bất kỳ máy chủ nào, điều quan trọng vì bí mật HMAC chính là loại giá trị bạn không bao giờ nên dán vào một công cụ trực tuyến ngẫu nhiên có thể ghi lại nó.