Tạo HMAC
Tính HMAC cho văn bản và tệp bằng khóa UTF-8 hoặc thập lục phân. Chọn SHA-256, SHA-512 hay SHA-1 và kiểm tra chênh lệch chữ ký API ngay trên trình duyệt.
Kết quả sẽ xuất hiện ở đây.
Cách tính HMAC
- Chọn thuật toán mà hệ thống yêu cầu, rồi nhập thông điệp hoặc chọn tệp.
- Nhập khóa dạng văn bản UTF-8 hoặc bật chế độ thập lục phân để dùng các byte của khóa.
- Tính và sao chép kết quả thập lục phân. Ví dụ bên dưới dùng khóa 0b lặp lại 20 lần ở chế độ thập lục phân.
Tìm hiểu về Tạo HMAC
HMAC kết hợp thông điệp với khóa bí mật để tính mã xác thực. Hai phía phải dùng cùng byte và thuật toán. Giữ kín khóa; byte của khóa thập lục phân khác với văn bản viết ra các byte đó.
Ví dụ HMAC-SHA-256: bộ kiểm thử RFC 4231
- Dữ liệu đầu vào
Dữ liệu đầu vào Hi There Thuật toán HMAC-SHA-256 Khóa bí mật (Khóa ở dạng thập lục phân) 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b- Kết quả
b0344c61d8db38535ca8afceaf0bf12b881dc200c9833da726e9376c2e32cff7
Câu hỏi thường gặp về Tạo HMAC
HMAC có giống SHA-256 hay mã hóa không?
Không. HMAC xác thực thông điệp bằng khóa bí mật dùng chung; SHA-256 thông thường không có khóa. Cả hai đều không mã hóa thông điệp. Kết quả thập lục phân có 40 ký tự với SHA-1, 64 với SHA-256 và 128 với SHA-512.
Khi nào nên dùng khóa thập lục phân?
Khi khóa được biểu diễn bằng các byte thập lục phân. Khi đó 6162 là các byte của ab, không phải bốn ký tự 6162. Nhập từng cặp đầy đủ, không có khoảng trắng hay tiền tố 0x. Khóa Base64 cần được giải mã trước.
Vì sao chữ ký API hoặc webhook không khớp?
Byte của thông điệp, khóa và thuật toán phải khớp hoàn toàn. Khoảng trắng, định dạng JSON, xuống dòng và UTF-8 BOM đều làm đổi kết quả. Công cụ không tự ghép chuỗi ký theo từng nhà cung cấp hoặc đổi kết quả sang Base64.
Có thể tính HMAC cho tệp không?
Có. Tệp được chọn sẽ thay thế văn bản và dùng nguyên byte gốc. Giới hạn là 8 MiB văn bản và 32 MiB mỗi tệp. Ví dụ RFC 4231 dùng thông điệp Hi There và khóa thập lục phân 0b lặp lại 20 lần.
Tệp, token và văn bản của tôi có được tải lên không?
Không. Các công cụ xử lý dữ liệu ngay trong trình duyệt. Trang web chỉ cung cấp giao diện và mã chương trình; dữ liệu của bạn không được gửi tới máy chủ chuyển đổi hay lưu trong tài khoản.
Công cụ hữu ích cho bước tiếp theo
- Tính SHA-256 và kiểm tra tệp
Tạo mã băm SHA-256 cho văn bản và tệp; đối chiếu tệp tải xuống với mã kiểm tra đã công bố.
- Tính SHA-512 và kiểm tra tệp
Tính SHA-512 cho văn bản và tệp ngay trên thiết bị, rồi so sánh đầy đủ giá trị thập lục phân.
- Giải mã JWT
Đọc phần đầu, nội dung và thời hạn của JWT mà không gửi token đi nơi khác.
Tất cả công cụ dành cho lập trình viên
Mã hóa và chuyển đổi tệp
Chuyển đổi giữa văn bản, byte, URL và ảnh nhúng mà vẫn giữ nguyên dữ liệu gốc.
Mã hóa và giải mã Base64
Chuyển văn bản UTF-8 sang Base64 hoặc giải mã Base64 chuẩn và an toàn cho URL. Tùy chỉnh ký tự đệm và độ dài dòng.
Mã hóa và giải mã Base64URL
Chuyển văn bản sang Base64 an toàn cho URL với dấu - và _. Mã hóa hoặc giải mã chuỗi Base64URL không có phần đệm.
Ảnh sang Base64
Chuyển PNG, JPEG, GIF, WebP, SVG và các ảnh nhận diện được sang Base64 Data URI ngay trong trình duyệt.
Base64 thành ảnh
Giải mã ảnh Base64 hoặc Data URI, xem trước các định dạng được hỗ trợ và tải byte ảnh gốc xuống.
Tệp sang Base64
Chuyển tệp bất kỳ sang chuỗi Base64, tùy chọn thêm tiền tố Data URI, ký tự đệm và ngắt dòng MIME.
Base64 thành tệp
Chuyển chuỗi Base64 và Data URI thành tệp tải xuống mà không làm thay đổi dữ liệu nhị phân đã giải mã.
Mã hóa và giải mã URL
Mã hóa hoặc giải mã thành phần URL, địa chỉ đầy đủ và giá trị biểu mẫu. Xử lý đúng mã phần trăm và dấu cách.
Mã hóa và giải mã thực thể HTML
Chuyển văn bản và ký tự Unicode sang thực thể HTML; giải mã tham chiếu ký tự có tên hoặc dạng số.
Kiểm tra Unicode và chuyển đổi chuỗi thoát
Xem điểm mã Unicode, byte UTF-8 và đơn vị UTF-16; chuyển chuỗi thoát Unicode JavaScript thành văn bản đọc được.
Kiểm tra dữ liệu và văn bản
Đọc dữ liệu có cấu trúc, xem nội dung token và tìm điểm khác nhau giữa các văn bản.
Định dạng, thu gọn và kiểm tra JSON
Định dạng, thu gọn và kiểm tra JSON mà không làm mất độ chính xác của số lớn. Chọn thụt lề và sắp xếp khóa ở mọi cấp.
Giải mã JWT
Đọc phần đầu, nội dung và thời hạn của JWT mà không gửi token đi nơi khác.
So sánh văn bản
So sánh hai văn bản theo dòng, từ hoặc ký tự. Đánh dấu phần thêm và xóa, có tính cả dấu cách và xuống dòng.
Thử biểu thức chính quy
Thử biểu thức chính quy JavaScript với cờ, vị trí khớp, nhóm bắt và nhóm có tên ngay trong trình duyệt.
Mã băm, mã định danh và lịch chạy
Kiểm tra tính toàn vẹn của tệp, tạo mã định danh và làm việc với thời gian, lịch chạy định kỳ.
Tính MD5 và kiểm tra tệp
Tính MD5 cho văn bản hoặc tệp trên máy, rồi đối chiếu với giá trị kiểm tra dự kiến.
Tính SHA-1 và kiểm tra tệp
Tính SHA-1 cho văn bản UTF-8 hoặc tệp và so sánh với giá trị kiểm tra dự kiến.
Tính SHA-256 và kiểm tra tệp
Tạo mã băm SHA-256 cho văn bản và tệp; đối chiếu tệp tải xuống với mã kiểm tra đã công bố.
Tính SHA-512 và kiểm tra tệp
Tính SHA-512 cho văn bản và tệp ngay trên thiết bị, rồi so sánh đầy đủ giá trị thập lục phân.
Tính giá trị kiểm tra CRC32
Tính CRC-32 chuẩn cho văn bản hoặc tệp và đối chiếu kết quả thập lục phân dài tám ký tự.
Tạo UUID và GUID
Tạo UUID v4 ngẫu nhiên hoặc UUID v7 sắp xếp theo thời gian, từng mã hoặc hàng loạt.
Chuyển đổi dấu thời gian Unix
Chuyển đổi Unix theo giây, mili giây và ngày ISO 8601; xem cùng một thời điểm theo UTC hoặc múi giờ IANA.
Phân tích biểu thức Cron
Kiểm tra Cron gồm năm hoặc sáu trường và xem các lần chạy tiếp theo theo múi giờ IANA, có tính giờ mùa hè.
Tạo biểu thức Cron
Tạo Cron từ các trường thời gian hoặc lịch có sẵn, rồi xem trước lần chạy tiếp theo theo múi giờ đã chọn.
Văn bản và tệp được xử lý trên thiết bị của bạn. Đừng để kết quả nhạy cảm trong bộ nhớ tạm dùng chung. Hãy dùng thiết bị đáng tin cậy khi xử lý khóa bí mật và token.