Đến phần nội dung
Toova
Tất cả công cụ

Bộ tạo HMAC (SHA-256, SHA-512)

Riêng tư theo thiết kế — chạy hoàn toàn trong trình duyệt của bạn

Tạo chữ ký HMAC-SHA256 (hoặc SHA-1, SHA-512) từ một thông điệp và khóa bí mật, trong trình duyệt của bạn. Toova là công cụ đúng để ký tải webhook, yêu cầu API, và bất kỳ luồng nào trong đó hai bên chia sẻ bí mật và cần xác minh tính xác thực.

HMAC dùng để làm gì

HMAC biến bí mật chia sẻ và thông điệp thành chữ ký có độ dài cố định. Người nhận, cũng biết bí mật, có thể tính lại HMAC và so sánh byte theo byte — nếu chữ ký khớp, thông điệp là xác thực và không bị giả mạo. Stripe, GitHub, Slack, và gần như mọi hệ thống webhook đều dùng HMAC-SHA256 để ký tải để người nhận có thể tin nguồn gốc.

Tùy chọn thuật toán và mã hóa

Toova hỗ trợ HMAC-SHA256, HMAC-SHA1, và HMAC-SHA512. SHA-256 là mặc định hiện đại. Chọn thuật toán khớp với tài liệu của dịch vụ bạn đang tích hợp. Đầu ra là hex theo mặc định, với biến thể Base64 và Base64-URL có sẵn — hầu hết nhà cung cấp webhook mong đợi định dạng cụ thể, nên hãy kiểm tra tài liệu trước khi đổi công tắc.

Ký chỉ cục bộ

Chữ ký được tính hoàn toàn trong trình duyệt của bạn. Thông điệp và khóa bí mật của bạn không bao giờ rời trang. Điều đó quan trọng vì bí mật là thứ cho phép bất kỳ ai giả mạo chữ ký hợp lệ — rò rỉ nó cho biểu mẫu bên thứ ba sẽ làm tổn hại hệ thống. Toova an toàn cho việc gỡ lỗi webhook sản xuất, xác thực chữ ký, và khám phá tích hợp API.

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

Khác biệt giữa HMAC và băm thuần là gì?
Băm thuần là xác định cho bất kỳ đầu vào nào — ai cũng có thể tính. HMAC trộn vào khóa bí mật, nên chỉ các bên có khóa mới có thể tạo chữ ký khớp. Đó là điều khiến HMAC phù hợp cho xác thực, trong khi băm thuần chỉ tốt cho tính toàn vẹn.
Tôi nên chọn thuật toán nào?
Dùng HMAC-SHA256 trừ khi dịch vụ bạn tích hợp với yêu cầu rõ ràng cái khác. SHA-1 vẫn phổ biến trong hệ thống cũ nhưng không nên dùng trong thiết kế mới. SHA-512 là quá mức cho hầu hết các trường hợp nhưng bảo thủ hơn một chút.
Khóa nên là chuỗi hay byte?
HMAC nhận chuỗi byte. Toova xử lý khóa của bạn dưới dạng văn bản UTF-8 theo mặc định, khớp với những gì hầu hết API làm. Nếu spec nói "bí mật mã hóa hex", lật công tắc mã hóa khóa để byte khớp với những gì dịch vụ mong đợi.
Bí mật của tôi có được gửi đến máy chủ không?
Không. Việc ký diễn ra hoàn toàn trong trình duyệt của bạn. Bí mật và thông điệp của bạn không bao giờ rời thiết bị, và tab Network sẽ trống trong khi ký.
Vì sao chữ ký của tôi không khớp với mong đợi của dịch vụ?
Phổ biến nhất: lệch mã hóa (hex so với Base64), xuống dòng cuối trong tải, hoặc sai thuật toán. Xác minh cả ba khớp chính xác với tài liệu dịch vụ.