Bỏ qua đến nội dung chính
FreeOnlineTools Go
Tiếng Việt
Làm cách nào để

Cách Giải mã JWT Token và Kiểm tra Claims An toàn

Bởi FreeOnlineTools Team · Đã cập nhật 2026-09-02

Trả lời nhanh

Để giải mã JWT: dán token vào JWT Decoder và header và payload xuất hiện ngay as JSON định dạng. Công cụ giải mã phần Base64URL cục bộ —token không bao giờ rời trình duyệt. Nhớ: giải mã chỉ hiển thị nội dung; không xác minh signature.

Giới thiệu

JWT (JSON Web Token) là định dạng token compact, URL-safe dùng cho authentication và trao đổi thông tin. JWT có ba phần phân tách bởi dấu chấm: header.payload.signature. Header chỉ định thuật toán, payload chứa claim (user ID, roles, expiration) và signature chứng minh token không bị can thiệp. Giải mã cho phép kiểm tra nội dung để debug —nhưng giải mã không xác thực tính xác thực.

Từng bước một

  1. Mở công cụ Giải mã JWT

    Đi tới trang công cụ Bộ giải mã JWT. Công cụ này chấp nhận bất kỳ chuỗi JWT nào (ba phần được mã hóa Base64URL được phân tách bằng dấu chấm).

  2. Dán mã thông báo JWT của bạn

    Dán JWT vào trường nhập. JWT điển hình trông giống như: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyMSJ9.signature. Công cụ tự động phát hiện ba phần.

  3. Xem lại tiêu đề đã giải mã

    Công cụ Base64URL-giải mã phần đầu tiên và hiển thị dưới dạng JSON. Tiêu đề thường chứa 'alg' (thuật toán, ví dụ: HS256) và 'typ' (loại, thường là 'JWT').

  4. Xem lại tải trọng đã giải mã (khiếu nại)

    Công cụ này giải mã phần thứ hai và hiển thị các xác nhận quyền sở hữu ở định dạng JSON. Các xác nhận quyền sở hữu phổ biến bao gồm 'phụ' (chủ đề/ID người dùng), 'iat' (được cấp vào lúc), 'exp' (hết hạn) và 'vai trò' (vai trò của người dùng).

  5. Kiểm tra chữ ký (phần thứ ba)

    Công cụ hiển thị phần chữ ký. Lưu ý: giải mã KHÔNG xác minh chữ ký. Để xác minh, bạn cần có khóa ký và thư viện xác minh. Không bao giờ tin tưởng vào các xác nhận quyền sở hữu của JWT mà không xác minh phía máy chủ chữ ký.

Ví dụ

Giải mã một JWT đơn giản

đầu vào: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyMSIsIm5hbWUiOiJBbGljZSIsImlhdCI6MTY5MzUyNjQwMH0.signature

đầu ra: Header: {"alg":"HS256","typ":"JWT"} Payload: {"sub":"user1","name":"Alice","iat":1693526400}

JWT với yêu cầu hết hạn

đầu vào: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTY5MzYxMjgwMH0.sig

đầu ra: Header: {"alg":"HS256"} Payload: {"sub":"admin","exp":1693612800}

Các vấn đề thường gặp

  • Giải mã khó hiểu với xác minh — giải mã JWT chỉ đọc nội dung của nó; nó KHÔNG chứng minh mã thông báo là xác thực. Luôn xác minh phía máy chủ chữ ký bằng khóa ký.
  • Tin cậy các mã thông báo đã hết hạn —kiểm tra xác nhận quyền sở hữu 'exp' và từ chối các mã thông báo đã hết hạn. Giá trị 'exp' là dấu thời gian Unix tính bằng giây.
  • Base64 so với Base64URL —JWT sử dụng mã hóa Base64URL (không có phần đệm, - và _ thay vì + và /). Bộ giải mã Base64 tiêu chuẩn sẽ không thành công trên các phần JWT.
  • Dữ liệu nhạy cảm trong tải trọng —JWT tải trọng đều có thể đọc được bởi bất kỳ ai có mã thông báo. Không lưu trữ mật khẩu, số thẻ tín dụng hoặc các bí mật khác trong tải trọng.

Mẹo

  • Luôn xác minh chữ ký JWT phía máy chủ trước khi tin cậy bất kỳ xác nhận quyền sở hữu nào — chỉ giải mã thôi thì không phải là xác thực.
  • Kiểm tra xác nhận quyền sở hữu 'exp' (hết hạn) và 'nbf' (không phải trước đó) để đảm bảo mã thông báo hợp lệ cho thời điểm hiện tại.
  • Sử dụng mã thông báo có thời gian tồn tại ngắn (15-60 phút) với mã thông báo làm mới cho các phiên dài —giảm thiểu thiệt hại nếu mã thông báo bị rò rỉ.
  • Sử dụng Bộ giải mã JWT của chúng tôi để gỡ lỗi cục bộ, an toàn —mã thông báo của bạn không bao giờ rời khỏi trình duyệt của bạn.

Công cụ liên quan

Hướng dẫn liên quan

Tài liệu tham khảo