DevToys Web Pro iconDevToys Web ProBlog
Đánh giá chúng tôi:
Dùng thử tiện ích mở rộng trình duyệt:

Trình tạo HMAC

Đầu vào

Cấu hình

  • Thuật toán

    Chọn thuật toán băm HMAC

  • Định dạng khóa

    Cách khóa bí mật của bạn được mã hóa

  • Định dạng đầu ra

    Cách hiển thị HMAC được tạo

Đầu ra HMAC

  • Chi tiết kỹ thuật

    Cách hoạt động của trình tạo HMAC

    Công cụ làm gì

    Trình tạo HMAC này tạo các hash có khóa (chữ ký HMAC) cho một thông điệp bằng khóa bí mật dùng chung. Nó hỗ trợ HMAC SHA-1, HMAC SHA-256, HMAC SHA-384 và HMAC SHA-512, thường được dùng cho xác thực API, xác minh webhook và kiểm tra tính toàn vẹn thông điệp. Bạn có thể chọn cách mã hóa khóa (text, hex hoặc Base64) và xuất HMAC ở dạng hex hoặc Base64. Mọi phép tính đều chạy cục bộ trong trình duyệt của bạn bằng Web Crypto API, vì vậy bí mật của bạn không bao giờ rời khỏi thiết bị.

    Các trường hợp sử dụng phổ biến cho lập trình viên

    Lập trình viên dùng công cụ tính HMAC trực tuyến để xác minh chữ ký webhook từ các dịch vụ như Stripe, GitHub hoặc Slack, tạo chữ ký request API và gỡ lỗi quy trình ký JWT bằng HMAC. Khi tích hợp API bên thứ ba yêu cầu xác thực HMAC, công cụ này giúp bạn xác nhận chữ ký mong đợi và so sánh với đầu ra từ máy chủ. Nó cũng giúp xác thực hash HMAC trong quá trình kiểm thử, xây dựng ví dụ có thể tái lập và khắc phục sự không khớp về encoding giữa client và server.

    Định dạng dữ liệu, kiểu hoặc biến thể

    Công cụ HMAC hỗ trợ các thuật toán SHA-1, SHA-256, SHA-384 và SHA-512, với đầu ra ở dạng hex hoặc Base64. Khóa bí mật có thể được cung cấp dưới dạng văn bản thuần (UTF-8), thập lục phân hoặc byte được mã hóa Base64. Nhiều tích hợp công bố chữ ký HMAC ở dạng hex, trong khi một số API yêu cầu Base64; trình tạo này giúp bạn khớp các định dạng đó. Hãy đảm bảo chọn đúng encoding của khóa để tránh chữ ký không khớp.

    Các lỗi thường gặp và trường hợp biên

    Chữ ký HMAC cực kỳ nhạy với chi tiết đầu vào. Bất kỳ khác biệt nào về encoding thông điệp, khoảng trắng hoặc ký tự xuống dòng đều sẽ thay đổi kết quả. Hãy đảm bảo bạn dùng đúng payload và đúng định dạng khóa (text vs hex vs Base64). SHA-1 được xem là yếu hơn và chỉ nên dùng cho các tích hợp cũ khi bắt buộc. Nếu nền tảng của bạn dùng Base64URL thay vì Base64, bạn có thể cần chuyển đổi đầu ra để so sánh.

    Khi nào nên dùng công cụ này thay vì viết mã

    Hãy dùng trình tạo HMAC này để kiểm tra nhanh, gỡ lỗi xác minh webhook và xác thực chữ ký ví dụ trong quá trình phát triển. Với hệ thống production, hãy tạo chữ ký HMAC bằng code sử dụng thư viện crypto của nền tảng để đảm bảo encoding nhất quán, xử lý khóa an toàn và so sánh an toàn theo thời gian (timing-safe). Công cụ này lý tưởng cho phát triển, nhưng ứng dụng của bạn nên tính HMAC theo chương trình trong production.