Tạo HMAC - Mã hóa HMAC

Công cụ tạo HMAC và mã hóa HMAC online miễn phí. Tạo HMAC (Hash-based Message Authentication Code) với SHA-256, SHA-512 hoặc SHA-1. Tạo mã xác thực thông điệp an toàn cho bảo mật API, ký JWT và xác minh tính toàn vẹn dữ liệu. Hỗ trợ định dạng hex và base64.

⚠️ Không bao giờ chia sẻ secret key công khai!

Tạo HMAC - Generate Message Authentication Codes Online

Công cụ tạo HMAC online mạnh mẽ tạo Hash-based Message Authentication Code sử dụng thuật toán SHA-256, SHA-512 hoặc SHA-1. Hoàn hảo cho lập trình viên triển khai xác thực API, ký JWT token, xác minh webhook và kiểm tra tính toàn vẹn dữ liệu an toàn. Hỗ trợ cả định dạng hexadecimal và base64.

HMAC là gì?

HMAC (Hash-based Message Authentication Code) là một thuật toán mật mã kết hợp hàm băm với secret key để tạo mã xác thực thông điệp.

Tính năng chính:
- Xác minh cả tính toàn vẹn và xác thực dữ liệu
- Yêu cầu secret key (được chia sẻ giữa người gửi/nhận)
- Dựa trên các hàm băm chuẩn (SHA-256, SHA-512, v.v.)
- Được sử dụng trong APIs, JWTs, webhooks và giao tiếp an toàn

HMAC = Hash(secret_key + message)

Ví dụ:
Thông điệp: "Hello, World!"
Secret: "mySecretKey"
HMAC-SHA256: a4e624d686e03ed2767c0abd85c14426b0b1157d2ce81d27bb4fe4bc1e4fa3a6

Làm thế nào để tạo HMAC?

1. Nhập thông điệp/dữ liệu của bạn
2. Nhập secret key của bạn
3. Chọn thuật toán hash (khuyến nghị SHA-256)
4. Chọn định dạng đầu ra (hex hoặc base64)
5. Nhấp 'Tạo HMAC'
6. Sao chép mã HMAC

Ví dụ:
Message: "user=john&action=login"
Key: "api_secret_key_123"
Algorithm: HMAC-SHA256
Output: Chuỗi hex 64 ký tự

Cùng message + key sẽ luôn tạo ra cùng HMAC.

HMAC được sử dụng cho gì?

HMAC được sử dụng rộng rãi cho xác thực an toàn và xác minh tính toàn vẹn:

✓ Xác thực API:
- Xác minh chữ ký AWS
- GitHub webhooks
- Ký API request
- Chữ ký OAuth

✓ JWT (JSON Web Tokens):
- Thuật toán HS256, HS384, HS512
- Xác minh chữ ký token

✓ Tính toàn vẹn Thông điệp:
- Xác minh webhook payload
- Phát hiện giả mạo dữ liệu
- Truyền thông điệp an toàn

HMAC đảm bảo cả tính xác thực (người gửi có key) và tính toàn vẹn (thông điệp không thay đổi).

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

Chọn dựa trên nhu cầu bảo mật của bạn:

HMAC-SHA256 (Khuyến nghị):
✓ Tiêu chuẩn công nghiệp
✓ Nhanh và an toàn
✓ Đầu ra hex 64 ký tự
✓ Được hầu hết APIs sử dụng
✓ JWT HS256

HMAC-SHA512 (An toàn hơn):
✓ Bảo mật tối đa
✓ Đầu ra hex 128 ký tự
✓ Tốt hơn cho dữ liệu giá trị cao
✓ JWT HS512

HMAC-SHA1 (Cũ):
⚠️ Không khuyến nghị cho dự án mới
✓ Chỉ cho tương thích cũ
✓ Đầu ra hex 40 ký tự

Đối với hầu hết ứng dụng: Dùng HMAC-SHA256

HMAC xác minh thông điệp như thế nào?

Quy trình xác minh HMAC:

1. Người gửi:
- Tạo thông điệp
- Tạo HMAC với secret key
- Gửi message + HMAC

2. Người nhận:
- Nhận message + HMAC
- Tạo HMAC từ message với cùng key
- So sánh HMAC đã tạo với HMAC nhận được
- Khớp = xác thực, không giả mạo
- Không khớp = từ chối (bị giả mạo hoặc key sai)

Nếu kẻ tấn công thay đổi message:
- HMAC mới sẽ không khớp
- Người nhận từ chối thông điệp

HMAC bảo vệ chống giả mạo và đảm bảo xác thực người gửi.

Tôi có thể sử dụng HMAC cho mật khẩu không?

KHÔNG! HMAC KHÔNG dùng để băm mật khẩu.

HMAC:
✓ Xác thực thông điệp
✓ Chữ ký API
✓ Tính toàn vẹn dữ liệu
✗ KHÔNG lưu trữ mật khẩu

Để băm mật khẩu, sử dụng:
✓ bcrypt (khuyến nghị)
✓ Argon2 (hiện đại)
✓ PBKDF2 (chấp nhận được)

Tại sao?
- HMAC nhanh (không tốt cho mật khẩu)
- HMAC cần một key (mật khẩu là secret)
- HMAC không sử dụng salt đúng cách cho mật khẩu

HMAC và băm mật khẩu phục vụ mục đích khác nhau!

Tính năng chính

  • Tạo HMAC từ bất kỳ thông điệp nào ngay lập tức
  • Hỗ trợ SHA-256, SHA-512 và SHA-1
  • Định dạng đầu ra Hexadecimal hoặc Base64
  • Secret key với toggle hiện/ẩn
  • Web Crypto API để băm an toàn
  • Sao chép HMAC vào clipboard
  • Tải xuống HMAC dưới dạng file
  • Hiển thị thông tin thuật toán và đầu ra
  • Hỗ trợ chế độ tối
  • Xử lý 100% phía client
  • Hoạt động offline
  • Không cần đăng ký