onlinetools.dev

Giải mã JWT

Giải mã header và payload của JWT, kiểm tra hạn dùng — hoàn toàn ngoại tuyến

Chạy cục bộ
loading…
Về công cụ này

Một JSON Web Token gồm ba đoạn Base64URL — header, payload, chữ ký — nối với nhau bằng dấu chấm. Công cụ này tách token ra, hiển thị header và payload dưới dạng JSON đã định dạng, đổi các claim thời gian chuẩn (iat, exp, nbf) thành ngày giờ dễ đọc, và cho bạn biết ngay token đã hết hạn hay chưa.

Giải mã không phải là xác minh: payload của bất kỳ JWT nào cũng đọc được bởi bất cứ ai đang giữ nó, vì Base64URL là phép mã hóa dạng biểu diễn chứ không phải mật mã. Đó cũng là lý do dán token vào một trang web bất kỳ thường là ý tưởng tồi — trang này là ngoại lệ, vì việc giải mã diễn ra hoàn toàn trong trình duyệt của bạn và token không bao giờ được truyền đi. Việc xác minh chữ ký bằng khóa bí mật hay khóa công khai được cố ý để ngoài phạm vi của bộ giải mã ngoại tuyến này.

Tiền tố “Bearer ” ở đầu sẽ tự động bị cắt bỏ, nên bạn có thể dán thẳng từ một header Authorization.

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

Dán token của môi trường production vào đây có an toàn không?
Token ở lại trong trình duyệt của bạn — trang này không thực hiện bất kỳ yêu cầu mạng nào với dữ liệu bạn nhập, và bạn có thể tự xác nhận điều đó ở tab Network trong DevTools. Dù vậy, hãy tập thói quen coi token đang hoạt động như mật khẩu: khi chia sẻ ảnh chụp màn hình, hãy dùng token đã hết hạn hoặc token thử nghiệm.
Vì sao token của tôi không giải mã được?
Hãy kiểm tra xem nó có đúng ba đoạn ngăn cách bằng dấu chấm và có bị chèn ngắt dòng khi sao chép hay không. Các access token dạng đục (chẳng hạn nhiều token của GitHub hay Google) vốn không phải JWT — không phép giải mã nào mở được một chuỗi ngẫu nhiên chưa từng chứa JSON.
iat, exp và nbf nghĩa là gì?
Đó là các claim chuẩn theo RFC 7519, tất cả tính bằng giây Unix: iat là lúc token được phát hành, exp là lúc nó hết hiệu lực, còn nbf (“not before”) là thời điểm sớm nhất token được phép chấp nhận. Công cụ này đổi từng giá trị thành ngày giờ dễ đọc và đối chiếu exp với đồng hồ máy bạn.
Công cụ này có xác minh chữ ký được không?
Không — và dù sao thì một dấu tích xanh từ công cụ trực tuyến cũng không nên được tin cậy cho các quyết định bảo mật. Hãy xác minh chữ ký ở backend của bạn bằng một thư viện còn được bảo trì (jose, jsonwebtoken, PyJWT) với đúng khóa của bên phát hành.
Công cụ liên quan