Dành cho lập trình viên
Giải mã JWT online
Xem nội dung header và payload của JSON Web Token, kèm chuyển đổi các mốc thời gian sang dạng đọc được.
⚠️ Công cụ này chỉ giải mã để xem nội dung, không kiểm tra chữ ký. Việc kiểm tra chữ ký cần khoá bí mật, mà khoá bí mật thì không bao giờ nên dán vào một trang web.
Giải mã JWT online là gì?
JSON Web Token là chuẩn token phổ biến nhất trong xác thực web hiện nay. Một chuỗi JWT gồm ba phần ngăn cách bởi dấu chấm: header cho biết thuật toán ký, payload chứa dữ liệu, và chữ ký dùng để xác minh token không bị sửa. Hai phần đầu chỉ được mã hoá Base64URL chứ không hề được mã hoá bảo mật.
Đây là điều nhiều người hiểu nhầm: bất kỳ ai cầm được chuỗi JWT đều đọc được toàn bộ nội dung bên trong, không cần khoá gì cả. Chữ ký chỉ đảm bảo nội dung không bị sửa, chứ không giấu nội dung đi. Vì vậy tuyệt đối không đặt mật khẩu hay thông tin nhạy cảm vào payload.
Công cụ này tách chuỗi token, giải mã hai phần đầu và hiển thị dưới dạng JSON có định dạng. Các trường thời gian như exp, iat và nbf vốn là số giây từ epoch — rất khó đọc — được chuyển sang ngày giờ theo múi giờ máy bạn, kèm dấu hiệu cho biết token còn hiệu lực hay đã hết hạn.
Cách sử dụng
- Dán chuỗi JWT vào ô nhập. Chuỗi có dạng ba đoạn ngăn cách bởi dấu chấm.
- Header và payload hiện ra ngay dưới dạng JSON đã định dạng.
- Xem phần Các mốc thời gian để biết token phát hành lúc nào và hết hạn khi nào.
- Bấm Dùng ví dụ mẫu nếu muốn xem thử trước khi dán token thật.
Câu hỏi thường gặp
Token của tôi có bị gửi đi đâu không?
Không. Việc giải mã diễn ra hoàn toàn trong trình duyệt. Đây là điểm cần cân nhắc kỹ với JWT, vì token đang còn hiệu lực chính là chìa khoá vào tài khoản — dán nó vào một trang web có máy chủ ghi lại là rủi ro thật sự.
Vì sao không kiểm tra chữ ký?
Vì kiểm tra chữ ký cần khoá bí mật của máy chủ phát hành token. Nếu công cụ này yêu cầu bạn nhập khoá đó, chính yêu cầu ấy đã là một lỗ hổng bảo mật. Việc kiểm tra chữ ký thuộc về phía máy chủ, không phải công cụ tra cứu.
Payload có bị mã hoá không?
Không. Nó chỉ được mã hoá Base64URL, tức chỉ là cách biểu diễn khác của cùng dữ liệu. Ai cũng đọc được. Đừng bao giờ đặt mật khẩu, số thẻ hay dữ liệu riêng tư vào payload của JWT.
Các trường exp, iat, nbf nghĩa là gì?
exp là thời điểm token hết hạn, iat là thời điểm phát hành, nbf là thời điểm bắt đầu có hiệu lực. Cả ba đều là số giây tính từ 1/1/1970 theo giờ UTC. Công cụ đã đổi sẵn sang giờ địa phương của bạn.