Tới nội dung chính
Toolbase

Giải mã JWT

Giải mã JSON Web Token để xem header, payload và thời hạn.

Chạy hoàn toàn trong trình duyệt

Token được giải mã ngay trong trình duyệt của bạn và không bao giờ bị tải lên, ghi log hay lưu lại ở đâu.

JSON Web Token được ký chứ không được mã hoá, nên bất kỳ ai cầm token đều đọc được mọi claim bên trong. Bộ giải mã này làm đúng việc đó và không hơn: tách token theo các dấu chấm, giải mã header và payload từ base64url, rồi bày các claim chuẩn ra thành bảng. Thứ nó không làm là nói cho bạn biết token có thật hay không.

Tìm hiểu thêm về Giải mã JWT

Muốn kiểm tra chữ ký thì phải có khoá ký, mà công cụ này không bao giờ hỏi bạn khoá đó. Chữ ký chỉ được hiển thị nguyên như nó nằm trong token để bạn tự đối chiếu với chữ ký của mình, và không chỗ nào trên trang khẳng định một token là hợp lệ. Bù lại, nó nêu rõ những gì đọc được mà không cần khoá: thuật toán none, chữ ký rỗng, thời hạn đã trôi qua, thời điểm nbf nằm ở tương lai, thời điểm iat nằm ở tương lai, và payload không có thời hạn nào cả.

Thời gian mới là lý do phần lớn mọi người mở một bộ giải mã. Các claim exp, nbf và iat được hiển thị cùng lúc theo ba cách, là giờ trên máy bạn, chuỗi UTC và một cụm tương đối như sau ba giờ nữa, nên token hết hạn lộ ra ngay từ cái nhìn đầu tiên. Tiền tố Bearer và khoảng trắng thừa bị cắt khỏi thứ bạn dán vào, còn JWE năm phần được nhận diện là token đã mã hoá thay vì báo lỗi phân tích.

  • Header và payload được giải mã từ base64url và hiển thị dưới dạng JSON đã định dạng
  • Bảng claim gồm iss, sub, aud, exp, nbf, iat và jti
  • Các claim thời gian hiển thị theo giờ máy bạn, giờ UTC và cụm tương đối
  • Cảnh báo cho token hết hạn, nbf ở tương lai và token thiếu thời hạn
  • Thuật toán none hoặc chữ ký rỗng được nêu rõ là token chưa ký
  • Tiền tố Bearer và ký tự xuống dòng được cắt khỏi token bạn dán vào
  • Token JWE năm phần được nhận diện thay vì bị hiểu nhầm là JWT hỏng
  • Sao chép hoặc tải header và payload đã giải mã về dưới dạng JSON

Cách sử dụng

  1. 1Dán token vào ô phía trên, có hay không có tiền tố Bearer đều được.
  2. 2Đọc bảng claim để biết nơi phát hành, chủ thể, đối tượng nhận và các mốc thời gian.
  3. 3Xem các cảnh báo phía trên hàng tab, chẳng hạn token đã hết hạn hoặc không có thời hạn.
  4. 4Mở tab Header để xem thuật toán và key id mà token khai báo.
  5. 5Sao chép payload đã giải mã ở tab Payload nếu bạn cần dùng chỗ khác.

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

Công cụ có xác minh chữ ký không?

Không. Giải mã thì không cần khoá nhưng xác minh thì cần, mà công cụ này không bao giờ hỏi khoá, nên hãy xem mọi thứ nó hiển thị là claim chứ không phải sự thật.

Token của tôi có được gửi lên máy chủ không?

Không. Token được tách và giải mã trong trình duyệt của bạn, và không thông tin nào về nó bị truyền đi hay lưu lại.

Dán token vào đây có an toàn không?

Mọi JWT đều đọc được mà không cần khoá, nên một bộ giải mã không làm lộ thêm gì ngoài những thứ token đã mang sẵn. Nhưng bearer token vẫn là thông tin đăng nhập còn hiệu lực, nên đừng dán token production không phải của bạn.

Vì sao công cụ báo payload của tôi không phải JSON?

Đặc tả cho phép payload ở dạng bất kỳ, và một số hệ thống đặt văn bản thuần hoặc định dạng khác vào đó. Khi gặp trường hợp này, phần byte đã giải mã được hiển thị dưới dạng văn bản thay vì bảng claim.

Thuật toán none nghĩa là gì?

Nghĩa là token không mang chữ ký nào, nên ai cũng có thể tạo ra một token trông y hệt. Hãy từ chối những token như vậy ở phía máy chủ thay vì tin vào các claim bên trong.

Xem thêm Công cụ lập trình
Esc

16 kết quả