Bỏ qua, tới nội dung
Monu Tools

Tạo HMAC

Tạo một HMAC cho một thông điệp và khóa secret bằng SHA-1, SHA-256, SHA-384 hoặc SHA-512, trong trình duyệt của bạn.

Cách dùng HMAC

  1. 01

    Chọn một thuật toán băm.

  2. 02

    Nhập khóa secret và thông điệp của bạn.

  3. 03

    Sao chép HMAC, được hiển thị dưới dạng hex digest.

Ký một thông điệp bằng khóa

Một bộ tạo HMAC ký một thông điệp bằng khóa bí mật với SHA-1, SHA-256, SHA-384 hay SHA-512, và hiện kết quả dưới dạng chuỗi thập lục phân. Hãy chọn một thuật toán, nhập khóa cùng thông điệp, rồi sao chép chữ ký.

Một HMAC chứng minh điều gì

HMAC là viết tắt của mã xác thực thông điệp dựa trên hàm băm. Đó là một phép băm có khóa: kết hợp một khóa bí mật với thông điệp chứng minh cùng lúc hai điều, rằng thông điệp do người nắm khóa tạo ra, và rằng nó chưa bị sửa trên đường truyền.

Khác biệt so với một phép băm thường nằm ở cái khóa. Ai cũng tính được SHA-256 của một thông điệp, nhưng chỉ người có khóa bí mật dùng chung mới tạo ra được HMAC đúng, và chính điều đó biến một tổng kiểm tra thành bằng chứng về tính xác thực.

HMAC xuất hiện ở đâu

Đó là lý do nó có mặt khắp hạ tầng web. Các webhook từ những dịch vụ như Stripe, GitHub và Slack ký mỗi yêu cầu bằng một HMAC để máy chủ của bạn xác minh cuộc gọi đó thật sự đến từ họ, và nhiều API cũng ký yêu cầu theo cách tương tự.

Chọn thuật toán

SHA-256 là lựa chọn mặc định phổ biến; SHA-384 và SHA-512 mạnh hơn, còn SHA-1 là di sản đời cũ và tốt nhất nên tránh với các hệ thống mới.

Lưu ý về an toàn

Nó chạy tại chỗ bằng Web Crypto API, nên khóa và thông điệp của bạn không bao giờ bị tải lên, điều rất quan trọng vì khóa là một bí mật.

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

HMAC là gì?

Một hàm băm có khóa chứng minh một thông điệp được tạo bởi người nắm khóa secret và không bị thay đổi. Nó được dùng rộng rãi để ký yêu cầu API và webhook.

Secret của tôi có được gửi đi đâu không?

Không. HMAC được tính trong trình duyệt của bạn bằng Web Crypto API, nên khóa và thông điệp không bao giờ rời khỏi thiết bị.

Tôi nên dùng thuật toán nào?

SHA-256 là mặc định phổ biến. SHA-384 và SHA-512 mạnh hơn; SHA-1 là cũ và nên tránh cho hệ thống mới.

Nguồn

Báo lỗi