JWT Giải mã / Mã hóa
Giải mã bất kỳ JSON Web Token nào để xem header, payload và chữ ký, xác thực chữ ký HMAC, hoặc tạo một token mới có ký từ đầu. Mọi thao tác đều chạy ngay trong trình duyệt, nên token và khóa bí mật không bao giờ rời khỏi máy của bạn.
Các bước sử dụng
- Chọn chế độ ở phía trên: Giải mã để đọc một token có sẵn, hoặc Mã hóa để tạo token mới.
- Ở chế độ giải mã, dán token vào ô Token đã mã hóa (dùng nút Dán hoặc Ctrl+V). Header, payload và chữ ký được tô màu riêng, và bảng thông tin chung hiển thị thuật toán, loại, thời điểm phát hành, hạn dùng và subject.
- Để xác thực, nhập khóa bí mật vào thẻ Xác thực chữ ký rồi bấm Xác thực — nhãn "Chữ ký hợp lệ" màu xanh hoặc "Chữ ký không hợp lệ" màu đỏ sẽ xuất hiện.
- Xem các claim đã giải mã trong thẻ HEADER và PAYLOAD; chuyển giữa tab Bảng và JSON và dùng biểu tượng sao chép để lấy bất kỳ giá trị nào.
- Ở chế độ mã hóa, chọn Thuật toán, rồi chỉnh sửa JSON của HEADER, PAYLOAD và ô KHÓA BÍ MẬT. Token được tạo lại tự động khi bạn gõ — sao chép nó từ khung Token đã tạo.
Mẹo
- Việc xác thực chữ ký và mã hóa chỉ hỗ trợ các thuật toán HMAC (HS256 / HS384 / HS512) trong trình duyệt. Các thuật toán RS/ES/PS/EdDSA vẫn có thể giải mã và xem, nhưng không thể xác thực hay ký ở đây.
- Chú ý dòng Expiration: token hết hạn hiển thị nhãn Hết hạn màu đỏ, còn token còn hiệu lực hiển thị nhãn Còn hiệu lực màu xanh.
- Các claim
exp,iatvànbfđược tự động hiển thị dưới dạng ngày giờ dễ đọc bên cạnh giá trị Unix timestamp gốc.
Câu hỏi thường gặp
Tại sao khi xác thực token RS256 lại báo chỉ hỗ trợ HMAC?
Việc kiểm tra chữ ký dùng Web Crypto API của trình duyệt và chỉ được cấu hình cho HMAC (HS256/384/512). Bạn vẫn giải mã và đọc được token RS256/ES256/EdDSA, nhưng để xác thực và ký chúng cần cặp khóa bất đối xứng mà công cụ này không xử lý.
Tôi có cần bấm nút để tạo token ở chế độ mã hóa không?
Không. Token được dựng lại theo thời gian thực mỗi khi bạn thay đổi thuật toán, header, payload hoặc secret. Chỉ cần chỉnh sửa các ô và sao chép kết quả từ khung Token đã tạo.
Token của tôi báo "JWT không hợp lệ" — bị lỗi gì?
Một JWT phải có đúng ba phần ngăn cách bằng dấu chấm và phần header, payload phải là JSON được mã hóa Base64URL hợp lệ. Thông báo lỗi cho biết token bị sai số lượng phần hay JSON không phân tích được.