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)
Trình Tạo HMAC

Trình Tạo HMAC

Tạo mã xác thực HMAC với 8 thuật toán (SHA-256, SHA-512, MD5 và nhiều hơn nữa). Xác minh chữ ký webhook và token API ngay lập tức.

HMAC là gì?

HMAC (Mã Xác Thực Tin Nhắn Dựa Trên Hash) là một cơ chế mã hóa kết hợp một khóa bí mật với một hàm hash để tạo ra một mã xác thực. Nó cung cấp cả tính toàn vẹn dữ liệu và xác thực — đảm bảo rằng một tin nhắn chưa bị giả mạo và được gửi bởi ai đó biết khóa bí mật.

Mục Đích Cốt Lõi: HMAC xác minh cả tính xác thực và tính toàn vẹn của tin nhắn, làm cho nó cần thiết cho các giao tiếp an toàn giữa các hệ thống.

Các Trường Hợp Sử Dụng Phổ Biến

Xác Minh Webhook

Các dịch vụ như Stripe, GitHub và Shopify ký các tải trọng webhook bằng HMAC-SHA256 để bạn có thể xác minh chúng là xác thực và chưa bị giả mạo trong quá trình truyền.

Xác Thực API

AWS Signature V4 và nhiều API REST sử dụng HMAC để ký các yêu cầu, đảm bảo rằng các lệnh gọi API đến từ các máy khách được phép có thông tin xác thực hợp lệ.

Ký JWT

HMAC-SHA256 (HS256) là một thuật toán phổ biến cho JSON Web Tokens, cung cấp một phương pháp ký đối xứng cho xác thực không trạng thái.

Tính Toàn Vẹn Tin Nhắn

Xác minh rằng dữ liệu chưa bị sửa đổi trong quá trình truyền, đảm bảo tin nhắn nhận được chính xác như những gì đã được gửi.

HMAC Hoạt Động Như Thế Nào

HMAC lấy hai đầu vào — một khóa bí mật và một tin nhắn — và chạy chúng qua một hàm hash (như SHA-256) theo một cách cụ thể làm cho việc giả mạo trở nên tính toán không khả thi mà không biết khóa.

Công Thức HMAC
HMAC(K, m) = H((K' ⊕ opad) || H((K' ⊕ ipad) || m))

Trong Đó:

  • H là hàm hash (ví dụ: SHA-256)
  • K là khóa bí mật
  • m là tin nhắn cần xác thực
  • opadipad là các hằng số đệm đảm bảo bảo mật
Lợi Thế Bảo Mật: Cấu trúc hash lồng nhau với đệm khóa làm cho HMAC chống lại các cuộc tấn công mở rộng độ dài và đảm bảo rằng ngay cả khi hàm hash có điểm yếu, cấu trúc HMAC vẫn an toàn.

Cách Sử Dụng Trình Tạo HMAC Này

1

Chọn Một Thuật Toán

Chọn thuật toán HMAC của bạn từ menu thả xuống. SHA-256 được chọn theo mặc định và được khuyến nghị cho hầu hết các trường hợp sử dụng. MD5 và SHA-1 có sẵn để tương thích ngược nhưng được đánh dấu là không an toàn.

2

Nhập Khóa Bí Mật Của Bạn

Nhập hoặc dán khóa bí mật của bạn vào trường nhập khóa. Nếu khóa của bạn ở định dạng nhị phân, hãy sử dụng bộ chọn loại đầu vào để chuyển đổi giữa mã hóa String, Hex hoặc Base64.

3

Nhập Tin Nhắn Của Bạn

Nhập tin nhắn bạn muốn xác thực. Giống như khóa, bạn có thể chuyển đổi loại đầu vào nếu tin nhắn của bạn được mã hóa hex hoặc base64.

4

Nhận HMAC Của Bạn

HMAC được tạo tự động khi bạn nhập. Cả đầu ra HexBase64 được hiển thị cùng lúc. Nhấp vào nút sao chép bên cạnh bất kỳ đầu ra nào để sao chép nó vào bảng tạm của bạn.

Xác Minh Một HMAC

Để so sánh HMAC được tạo của bạn với một giá trị dự kiến, hãy bật hộp kiểm Xác Minh HMAC. Dán HMAC dự kiến — công cụ chấp nhận cả định dạng hex và base64 và hiển thị một huy hiệu Khớp hoặc Không Khớp ngay lập tức.

Mẹo Chuyên Nghiệp: Khi xác minh chữ ký webhook, hãy chắc chắn sử dụng phần thân yêu cầu thô chính xác mà không có bất kỳ sửa đổi nào. Thậm chí một sự khác biệt của một ký tự sẽ khiến xác minh thất bại.

Các Tính Năng

8 Thuật Toán HMAC

Tạo mã HMAC với một loạt các thuật toán hash để phù hợp với bất kỳ yêu cầu tích hợp nào:

SHA-256 Được Khuyến Nghị

Lựa chọn tiêu chuẩn cho webhook, API và JWT (HS256). Cung cấp bảo mật xuất sắc với đầu ra 256-bit.

SHA-512

Bảo mật cao hơn với đầu ra 512-bit. Lý tưởng cho các ứng dụng yêu cầu sức mạnh mã hóa tối đa.

SHA-384 & SHA-224

Các biến thể SHA-2 thay thế cung cấp đầu ra 384-bit và 224-bit cho các yêu cầu bảo mật cụ thể.

SHA3-256 & SHA3-512

Các thuật toán SHA-3 thế hệ mới nhất dựa trên thuật toán Keccak, cung cấp các tiêu chuẩn mã hóa hiện đại.

Thuật Toán Cũ: SHA-1 và MD5 có sẵn để tương thích ngược nhưng được đánh dấu là không an toàn. Sử dụng SHA-256 hoặc cao hơn cho các triển khai mới.

Định Dạng Đầu Vào Linh Hoạt

Cả khóa bí mật và tin nhắn chấp nhận ba loại đầu vào, cần thiết khi làm việc với các khóa nhị phân từ API hoặc gỡ lỗi các không khớp mã hóa:

String (UTF-8)

Nhập văn bản tiêu chuẩn cho các khóa và tin nhắn có thể đọc được của con người. Định dạng phổ biến nhất cho các bí mật API.

Hex

Biểu diễn byte thập lục phân. Sử dụng khi khóa của bạn được cung cấp dưới dạng byte hex thô từ bảng điều khiển API.

Base64

Dữ liệu nhị phân được mã hóa Base64. Phổ biến trong tiêu đề HTTP và tệp cấu hình.

Hiển Thị Đầu Ra Kép

Xem cả biểu diễn Hex và Base64 của HMAC của bạn cùng một lúc — không cần chuyển đổi. Một chuyển đổi chữ hoa cho phép bạn chuyển đổi đầu ra hex giữa chữ thường và chữ hoa.

Đầu Ra Hex

Định Dạng Thập Lục Phân

  • Biểu diễn dài hơn
  • Dễ đọc và gỡ lỗi hơn
  • Hai ký tự trên mỗi byte
  • Chuyển đổi chữ hoa/chữ thường
Đầu Ra Base64

Định Dạng Base64

  • Nhỏ gọn hơn 33%
  • Phổ biến trong tiêu đề HTTP
  • Được sử dụng trong token JWT
  • Các biến thể an toàn URL có sẵn

Xác Minh HMAC

Chế độ xác minh tích hợp cho phép bạn dán một giá trị HMAC dự kiến và ngay lập tức xem liệu nó có khớp với đầu ra được tạo của bạn hay không. Nó hỗ trợ cả định dạng hex và base64 và chuẩn hóa khoảng trắng và trường hợp để so sánh hex.

Xác Thực Tức Thì

So sánh theo thời gian thực với các huy hiệu Khớp/Không Khớp khi bạn nhập.

Tính Linh Hoạt Định Dạng

Chấp nhận cả định dạng đầu vào hex và base64 tự động.

Chuẩn Hóa Thông Minh

Xử lý các khác biệt về khoảng trắng và trường hợp trong các giá trị hex.

Dữ Liệu Của Bạn Vẫn Riêng Tư

Tất cả tính toán HMAC diễn ra hoàn toàn trong trình duyệt của bạn bằng cách sử dụng thư viện CryptoJS:

  • Không tải lên — Các khóa bí mật và tin nhắn của bạn không bao giờ rời khỏi thiết bị của bạn
  • Không xử lý máy chủ — Mọi thứ chạy phía máy khách trong JavaScript
  • Không theo dõi — Chúng tôi không ghi nhật ký hoặc lưu trữ bất kỳ dữ liệu đầu vào nào
  • Có khả năng ngoại tuyến — Hoạt động mà không cần kết nối internet sau khi tải
100% Phía Máy Khách: Các khóa mã hóa và dữ liệu nhạy cảm của bạn vẫn hoàn toàn riêng tư. Tất cả tính toán diễn ra cục bộ trong trình duyệt của bạn mà không có giao tiếp máy chủ.

Các Câu Hỏi Thường Gặp

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

SHA-256 là thuật toán được sử dụng rộng rãi nhất và được khuyến nghị cho hầu hết các ứng dụng. Nó được sử dụng bởi webhook Stripe, GitHub, Shopify và chữ ký API AWS. Sử dụng SHA-512 nếu bạn cần bảo mật cao hơn, hoặc các biến thể SHA3 cho tiêu chuẩn mới nhất.

Tiêu Chuẩn Ngành: SHA-256 cung cấp sự cân bằng tốt nhất giữa bảo mật, hiệu suất và khả năng tương thích trên các nền tảng và dịch vụ.

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

MD5 và SHA-1 có những điểm yếu mã hóa đã biết — các cuộc tấn công va chạm đã được chứng minh cho cả hai. Mặc dù HMAC-MD5 và HMAC-SHA1 vẫn được coi là an toàn trong một số bối cảnh (cấu trúc HMAC thêm bảo mật), nhưng thực hành tốt nhất là sử dụng SHA-256 hoặc cao hơn cho các triển khai mới.

Khuyến Nghị Di Chuyển: Nếu bạn hiện đang sử dụng MD5 hoặc SHA-1, hãy lên kế hoạch di chuyển sang SHA-256 hoặc SHA-512 để bảo mật lâu dài.

Sự khác biệt giữa đầu ra Hex và Base64 là gì?

Hex biểu diễn mỗi byte dưới dạng hai ký tự thập lục phân (0-9, a-f). Nó dài hơn nhưng dễ đọc và gỡ lỗi hơn. Base64 nhỏ gọn hơn (khoảng 33% ngắn hơn) và thường được sử dụng trong tiêu đề HTTP và JWT. Chọn bất kỳ định dạng nào mà API hoặc dịch vụ của bạn mong đợi.

Định Dạng Độ Dài Sử Dụng Phổ Biến Khả Năng Đọc
Hex 64 ký tự (SHA-256) Gỡ lỗi, nhật ký Cao
Base64 44 ký tự (SHA-256) Tiêu đề HTTP, JWT Trung Bình

Khi nào tôi nên sử dụng loại đầu vào Hex hoặc Base64 cho khóa?

Nếu khóa bí mật của bạn được cung cấp dưới dạng chuỗi hex (ví dụ: từ bảng điều khiển API hiển thị byte thô) hoặc chuỗi base64, hãy chọn loại đầu vào phù hợp để công cụ diễn giải chính xác dữ liệu nhị phân. Hầu hết thời gian, "String" (UTF-8) là lựa chọn đúng.

  • String (UTF-8) — Sử dụng cho mật khẩu văn bản thông thường và khóa API như "my_secret_key_123"
  • Hex — Sử dụng khi khóa của bạn trông giống như "a3f5b2c8d1e4..." (byte thập lục phân)
  • Base64 — Sử dụng khi khóa của bạn trông giống như "SGVsbG8gV29ybGQ=" (được mã hóa base64)

Làm cách nào để xác minh chữ ký webhook?

Nhập bí mật ký của webhook làm khóa, dán phần thân yêu cầu thô làm tin nhắn, chọn thuật toán mà dịch vụ của bạn sử dụng (thường là SHA-256), sau đó bật Xác Minh HMAC và dán chữ ký từ tiêu đề webhook để kiểm tra xem nó có khớp hay không.

1

Lấy Bí Mật

Sao chép bí mật ký từ bảng điều khiển dịch vụ

2

Phần Thân Thô

Dán phần thân yêu cầu chính xác

3

Xác Minh

So sánh với chữ ký tiêu đề

Quan Trọng: Sử dụng phần thân yêu cầu thô, chưa sửa đổi. Đừng phân tích cú pháp hoặc định dạng lại JSON — thậm chí những thay đổi về khoảng trắng cũng sẽ khiến xác minh thất bại.

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

Có. Tất cả tính toán HMAC chạy hoàn toàn trong trình duyệt của bạn — không có dữ liệu nào được gửi đến bất kỳ máy chủ nào. Các khóa bí mật và tin nhắn của bạn vẫn ở trên thiết bị của bạn mọi lúc.

Xử Lý Phía Máy Khách 100%
Quyền Riêng Tư Dữ Liệu 100%
Tải Lên Máy Chủ 0%
Không an toàn
Khóa bí mật
Thông điệp
HMAC Kết quả

Nhập khóa bí mật và thông điệp để tạo HMAC

Hex
Base64
Sẵn sàng
|
Chọn một thuật toán từ menu thả xuống — SHA-256 được khuyến nghị cho hầu hết các trường hợp sử dụng
Sử dụng bộ chọn loại đầu vào (String/Hex/Base64) khi khóa hoặc tin nhắn của bạn ở định dạng nhị phân
Bật Xác Minh HMAC để so sánh đầu ra của bạn với một giá trị dự kiến — hỗ trợ cả Hex và Base64
MD5 và SHA-1 được đánh dấu là Không An Toàn — sử dụng SHA-256 hoặc cao hơn cho môi trường sản xuất
Nhấp Dữ Liệu Mẫu để tải ví dụ chữ ký webhook
Tất cả tính toán diễn ra trong trình duyệt của bạn — khóa và tin nhắn của bạn không bao giờ được gửi đến bất kỳ máy chủ nào
Muốn biết thêm? Đọc tài liệu →
1/7
Không tìm thấy? Tự tạo công cụ với AI
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