Ngôn ngữ
English English Vietnamese (Tiếng Việt) Vietnamese (Tiếng Việt) Chinese (简体中文) Chinese (简体中文) Portuguese (Brazil) (Português do Brasil) Portuguese (Brazil) (Português do Brasil) Spanish (Español) Spanish (Español) Indonesian (Bahasa Indonesia) Indonesian (Bahasa Indonesia)

Tạo và kiểm tra mã xác thực HMAC với 8 thuật toán (SHA-256, SHA-512, SHA3, MD5...). Ký và đối chiếu chữ ký webhook, API ngay trên trình duyệt.

Tạo HMAC để ký và kiểm tra chữ ký

Công cụ tạo HMAC này tạo ra một Mã Xác Thực Tin Nhắn dựa trên hàm băm (Hash-based Message Authentication Code) từ một khóa bí mật và một tin nhắn, ngay trong trình duyệt của bạn. Hãy ghép bất kỳ tin nhắn nào với khóa và một thuật toán băm để tạo ra mã xác thực, chứng minh dữ liệu còn nguyên vẹn và đến từ người nắm giữ khóa.

Công cụ được xây dựng cho lập trình viên cần ký và kiểm tra payload webhook, yêu cầu APIJWT (HS256). Chọn một trong 8 thuật toán, nhập đầu vào dạng String, Hex hoặc Base64, rồi đọc kết quả ở cả hai dạng Hex và Base64 cùng lúc — kèm chế độ kiểm tra tích hợp để đối chiếu với chữ ký mong đợi.

Riêng tư theo thiết kế: mọi HMAC đều được tính toán hoàn toàn trong trình duyệt của bạn bằng thư viện CryptoJS. Khóa bí mật và tin nhắn của bạn không bao giờ được tải lên, ghi log hay lưu trữ trên bất kỳ máy chủ nào.

Cách tạo một mã HMAC

1

Chọn thuật toán

Chọn thuật toán băm từ danh sách thả xuống. SHA-256 là mặc định và là lựa chọn đúng cho hầu hết webhook, API và JWT. MD5 và SHA-1 vẫn có sẵn cho mục đích kế thừa nhưng mang nhãn Không an toàn.

2

Nhập khóa bí mật của bạn

Gõ hoặc dán khóa vào ô Khóa bí mật. Nếu khóa của bạn ở dạng nhị phân, hãy chuyển kiểu đầu vào của nó giữa String, HexBase64 để các byte được đọc đúng.

3

Nhập tin nhắn của bạn

Dán Tin nhắn bạn muốn xác thực — ví dụ một phần thân webhook thô. Tương tự như với khóa, hãy đặt kiểu đầu vào của nó là String, Hex hoặc Base64 cho khớp với dữ liệu.

4

Đọc và sao chép HMAC

Mã được tạo tự động khi bạn gõ, hiển thị ở cả dạng HexBase64. Bật Chữ in hoa cho hex nếu cần, rồi nhấn nút sao chép bên cạnh kết quả tương ứng. Để kiểm tra một giá trị, hãy bật Kiểm tra HMAC và dán chữ ký mong đợi để nhận ngay nhãn Khớp hoặc Không khớp.

Tính năng

8 thuật toán HMAC

Tạo mã với MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3-256 và SHA3-512 để hợp với mọi tích hợp.

Kiểu đầu vào linh hoạt

Khóa và tin nhắn đều nhận String (UTF-8), Hex hoặc Base64 — thiết yếu cho khóa nhị phân từ API.

Kết quả kép Hex và Base64

Xem cả dạng hexadecimal lẫn Base64 của HMAC cạnh nhau — không phải chuyển qua lại giữa các định dạng.

Bật/tắt chữ in hoa cho hex

Chuyển kết quả hex giữa chữ thường và chữ in hoa cho khớp định dạng mà dịch vụ của bạn yêu cầu.

Chế độ kiểm tra HMAC

Dán một giá trị mong đợi và thấy ngay Khớp hoặc Không khớp — chấp nhận Hex hoặc Base64, tự chuẩn hóa chữ hoa/thường và khoảng trắng.

Nhãn cảnh báo an toàn

Các thuật toán yếu như MD5 và SHA-1 được đánh dấu rõ là Không an toàn để bạn tránh dùng trong môi trường thật.

Tạo tức thì

HMAC tự cập nhật khi bạn gõ hoặc dán, kèm chỉ báo trạng thái hiển thị thuật toán và độ dài bit.

Sao chép một chạm

Sao chép kết quả Hex hoặc Base64 vào clipboard chỉ với một cú nhấp lên nút sao chép của từng định dạng.

Dữ liệu webhook mẫu

Tải sẵn một payload webhook và khóa bí mật chỉ với một cú nhấp để thấy chính xác cách một chữ ký được tạo ra.

Xử lý phía trình duyệt

Mọi tính toán chạy cục bộ trong trình duyệt của bạn — không có khóa hay tin nhắn nào được gửi lên máy chủ.

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

HMAC là gì?

HMAC (Hash-based Message Authentication Code) kết hợp một khóa bí mật với một hàm băm để tạo ra mã xác thực. Nó mang lại cả tính toàn vẹn lẫn xác thực: chứng minh một tin nhắn chưa bị thay đổi và đến từ người biết khóa. HMAC được dùng cho chữ ký webhook, ký yêu cầu API (như AWS Signature V4) và ký JWT (HS256).

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

SHA-256 được dùng phổ biến nhất và là mặc định đúng cho hầu hết trường hợp — nó vận hành webhook của Stripe, GitHub, Shopify cũng như chữ ký API của AWS. Dùng SHA-512 khi bạn muốn kết quả lớn hơn 512 bit, hoặc các biến thể SHA3 cho chuẩn mới nhất.

Khóa bí mật trong HMAC là gì?

Khóa bí mật là một giá trị chia sẻ chỉ các bên trao đổi tin nhắn biết — với webhook, đó là khóa ký (signing secret) mà nhà cung cấp cấp cho bạn. Cùng một khóa phải được dùng để tạo và để kiểm tra chữ ký; không có nó, HMAC không thể bị giả mạo cũng không thể được xác thực.

Làm sao để kiểm tra chữ ký webhook?

Nhập khóa ký của webhook vào ô Khóa bí mật, dán phần thân yêu cầu thô vào ô Tin nhắn, và chọn thuật toán mà dịch vụ của bạn dùng (thường là SHA-256). Sau đó bật Kiểm tra HMAC và dán chữ ký từ header của webhook để thấy ngay nhãn Khớp hoặc Không khớp.

Khác biệt giữa kết quả Hex và Base64 là gì?

Hex hiển thị mỗi byte thành hai ký tự hexadecimal (0-9, a-f); dài hơn nhưng dễ đọc và dễ gỡ lỗi. Base64 ngắn hơn khoảng 33% và phổ biến trong header HTTP cùng JWT. Công cụ này hiển thị cả hai cùng lúc, nên bạn có thể sao chép định dạng nào mà API của bạn yêu cầu.

Khi nào nên dùng kiểu đầu vào Hex hoặc Base64 cho khóa?

Chọn Hex hoặc Base64 khi khóa bí mật của bạn được cung cấp dưới dạng byte thô theo cách mã hóa đó — ví dụ một chuỗi hex từ bảng điều khiển API. Điều này báo cho công cụ giải mã giá trị trước khi băm. Phần lớn thời gian, một khóa UTF-8 thông thường nghĩa là bạn nên giữ kiểu đầu vào String.

Tại sao MD5 và SHA-1 bị đánh dấu là không an toàn?

MD5 và SHA-1 có những điểm yếu va chạm (collision) đã biết. Cấu trúc HMAC vẫn bổ sung thêm lớp bảo vệ, nên HMAC-MD5 và HMAC-SHA1 vẫn an toàn trong một số bối cảnh kế thừa, nhưng cách làm tốt nhất là chọn SHA-256 trở lên cho mọi triển khai mới. Đó là lý do cả hai đều bị gắn cờ.

Dữ liệu của tôi có an toàn không?

Có. Mọi HMAC đều được tính toán hoàn toàn trong trình duyệt của bạn — không có dữ liệu nào được gửi lên máy chủ. Khóa bí mật và tin nhắn của bạn luôn nằm trên thiết bị, và không có gì được ghi log hay lưu trữ.

Không an toàn
Khóa bí mật
Tin nhắn
HMAC Kết quả

Nhập khóa bí mật và tin nhắn để tạo HMAC

Hex
Base64
Sẵn sàng
|
Chọn thuật toán từ danh sách thả xuống — SHA-256 phù hợp cho hầu hết trường hợp
Dùng bộ chọn kiểu đầu vào (String/Hex/Base64) khi khóa hoặc tin nhắn của bạn ở dạng nhị phân
Bật Kiểm tra HMAC để đối chiếu kết quả với giá trị mong đợi — hỗ trợ cả Hex và Base64
MD5 và SHA-1 được đánh dấu Không an toàn — hãy dùng SHA-256 trở lên cho môi trường thật
Nhấn Dữ liệu mẫu để tải một ví dụ chữ ký webhook
Mọi tính toán diễn ra trong trình duyệt — khóa và tin nhắn của bạn không bao giờ được gửi lên máy chủ
Muốn biết thêm? Đọc tài liệu →
1/7
Bắt đầu gõ để tìm kiếm...
Đang tìm kiếm...
Không tìm thấy kết quả
Hãy thử tìm với từ khóa khác