Không tải lên, 100% cục bộ, không cần tài khoản

Giải mã JWT

Dán JWT để xem header, payload và hạn dùng. Không token nào gửi đi đâu. Chữ ký KHÔNG được xác minh, chỉ dùng để kiểm tra.

Cách Giải mã JWT hoạt động

Công cụ giải mã JWT chia một JSON Web Token thành ba phần, header, payload và chữ ký, và hiển thị header và payload dưới dạng JSON đã định dạng. Việc giải mã được thực hiện cục bộ trong trình duyệt bằng cách giải mã base64url mỗi phần: token của bạn không bao giờ được gửi đến bất kỳ máy chủ nào. Công cụ không thực hiện xác thực chữ ký; nó chỉ cho bạn thấy nội dung trong các claim của token.

Sự phân biệt này quan trọng về mặt bảo mật: thấy JWT đã giải mã cho bạn biết nó chứa những claim gì (ID người dùng, hết hạn, vai trò, phạm vi) nhưng không xác nhận token được cấp bởi cơ quan hợp pháp hoặc chưa bị giả mạo. Xác thực chữ ký yêu cầu khóa công khai hoặc bí mật chung của người phát hành, thứ bạn không bao giờ nên dán vào công cụ công khai. Chỉ dùng bộ giải mã này để kiểm tra và gỡ lỗi.

Cách sử dụng Giải mã JWT, từng bước

  1. Dán chuỗi JWT đầy đủ (ba phân đoạn base64url phân tách bằng dấu chấm) vào trường nhập.
  2. Các phần header và payload xuất hiện ngay lập tức dưới dạng JSON đã định dạng.
  3. Kiểm tra trường 'exp' trong payload để xem timestamp hết hạn (giây epoch Unix).
  4. Phân đoạn chữ ký được hiển thị nguyên trạng; công cụ này không xác thực nó.

Trường hợp sử dụng thường gặp

  • Lập trình viên gỡ lỗi vấn đề xác thực cần đọc các claim trong JWT để xác nhận rằng các phạm vi và vai trò đúng có mặt.
  • Kỹ sư QA kiểm tra trường 'exp' của access token để xác minh rằng hết hạn được đặt theo thời lượng mong đợi.
  • Người đánh giá bảo mật kiểm tra JWT từ dịch vụ bên thứ ba để hiểu dữ liệu người dùng nào nó mã hóa trước khi chấp nhận.
  • Kỹ sư backend khắc phục lỗi 401 bằng cách kiểm tra xem claim 'aud' (audience) của token có khớp với định danh API mong đợi không.

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

Công cụ này có xác thực chữ ký JWT không?

Không. Công cụ chỉ giải mã base64url các phân đoạn header và payload để hiển thị nội dung của chúng dưới dạng JSON. Xác thực chữ ký yêu cầu khóa bí mật hoặc khóa công khai của người phát hành, thứ bạn không nên dán ở đây. Payload được giải mã trông hợp lệ vẫn có thể có chữ ký không hợp lệ; luôn xác thực chữ ký phía máy chủ bằng thư viện JWT đáng tin cậy.

JWT token của tôi có được truyền đến máy chủ nào khi tôi dán vào đây không?

Không. Việc giải mã là ba lệnh gọi tới atob (hoặc TextDecoder trên các byte thô) chạy hoàn toàn trong engine JavaScript của trình duyệt. Không có gì bạn dán ở đây rời tab trình duyệt. Đây là cách duy nhất an toàn để kiểm tra JWT chứa claim người dùng riêng tư: hoàn toàn cục bộ, không có yêu cầu mạng.

Sự khác biệt giữa các phân đoạn header, payload và chữ ký là gì?

JWT có ba phân đoạn được mã hóa base64url phân tách bằng dấu chấm. Header xác định thuật toán dùng để ký token (ví dụ HS256 hoặc RS256). Payload chứa các claim: sự thật về chủ thể và metadata bổ sung (hết hạn, người phát hành, audience, claim tùy chỉnh). Chữ ký là giá trị mật mã học được tính từ header và payload bằng khóa của người phát hành; nó cho phép người nhận xác minh token không bị thay đổi.

'exp' trong payload có nghĩa là gì?

Claim 'exp' là thời gian hết hạn của token, được biểu thị dưới dạng Unix timestamp (số giây nguyên kể từ 1 tháng 1 năm 1970 UTC). Nếu thời gian hiện tại lớn hơn 'exp', token đã hết hạn và nên bị từ chối bởi bất kỳ máy chủ nào xác thực nó. Công cụ này hiển thị giá trị số thô; bạn có thể chuyển đổi nó bằng công cụ timestamp trên trang này. Nhãn hết hạn hoặc còn hiệu lực so sánh con số đó với đồng hồ trên chính thiết bị của bạn, vì vậy một máy có giờ sai cũng sẽ đánh giá sai token. Đây chỉ là một chỉ dấu, không bao giờ thay thế cho máy chủ thực sự xác thực chữ ký.

Tôi có thể giải mã token không trong suốt hoặc token tham chiếu bằng công cụ này không?

Không. Token không trong suốt (đôi khi gọi là token tham chiếu) là chuỗi ngẫu nhiên không chứa dữ liệu người dùng; chúng phải được gửi đến endpoint kiểm tra nội tâm của người phát hành để lấy các claim liên quan. Công cụ này chỉ hoạt động với JWT tự chứa ở định dạng ba phần tiêu chuẩn.