Giải mã JWT

Giải mã JWT để đọc header, các claim trong payload và chữ ký, với exp, nbf, iat hiển thị dạng ngày giờ kèm trạng thái hết hạn. Chạy cục bộ, không tải gì lên.

Tiền tố "Bearer " được tự động loại bỏ.

Header
{
  "alg": "HS256",
  "typ": "JWT"
}
Payload
{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022
}
Thuật toánHS256
Chữ kýSflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Giải mã không kiểm tra chữ ký. Ai cũng có thể tạo token với nội dung bất kỳ – hãy xác minh bằng công cụ JWT Verifier với khóa đúng trước khi tin tưởng.

Giải mã JWT là gì?

Công cụ giải mã JWT tách một JSON Web Token thành header, payload và chữ ký, đồng thời hiển thị JSON dễ đọc. Các claim thời gian (exp, nbf, iat) được chuyển thành ngày giờ UTC dễ đọc kèm thời gian tương đối, và một nhãn trạng thái cho biết token đã hết hạn, chưa có hiệu lực hay không có hạn. Công cụ chỉ giải mã – nó không xác minh chữ ký.

Cách sử dụng Giải mã JWT

  1. Dán token (tiền tố Bearer ở đầu được tự động loại bỏ).
  2. Đọc header đã giải mã (thuật toán, kiểu, ID khóa) và các claim trong payload.
  3. Kiểm tra trạng thái hết hạn và các mốc exp/nbf/iat.
  4. Dùng công cụ JWT Verifier với khóa đúng trước khi tin tưởng bất kỳ claim nào.

Ví dụ

Đầu vào
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Đầu ra
Header {"alg": "HS256", "typ": "JWT"} · payload {"sub": "1234567890", "name": "John Doe", "iat": 1516239022} · status: no expiration

Khi nào nên dùng Giải mã JWT

Dùng công cụ để gỡ lỗi xác thực: kiểm tra token mang những claim, scope, audience hay thời hạn nào. Đừng coi các claim đã giải mã là đáng tin – ai cũng có thể tạo token với nội dung tùy ý. Token mã hóa (JWE, năm phần) không thể giải mã nếu không có khóa.

Giải mã JWT hoạt động như thế nào

Một JWS dạng compact gồm ba phần Base64URL ngăn cách bằng dấu chấm. Hai phần đầu được giải mã (Base64URL → byte → UTF-8) và phân tích thành JSON; phần thứ ba được hiển thị nguyên trạng vì là dữ liệu chữ ký nhị phân. Các claim thời gian là giá trị NumericDate (số giây kể từ 1970-01-01 UTC) và được so với đồng hồ trên thiết bị của bạn. Không có gì rời khỏi trình duyệt.

Các Trường Hợp Sử Dụng Phổ Biến

  • Tìm hiểu vì sao API trả về 401: token đã hết hạn hay sai audience?
  • Đọc các vai trò hoặc scope bên trong access token.
  • Xem kid trong header để biết khóa ký nào đã được dùng.
  • Xem ID token từ một nhà cung cấp OpenID Connect.

Lưu Ý Bảo Mật

Việc giải mã chỉ diễn ra trong trình duyệt của bạn. Hãy đối xử với JWT như mật khẩu: bất kỳ ai giữ token hợp lệ đều có thể dùng nó cho đến khi hết hạn.

Câu Hỏi Thường Gặp

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

Token được giải mã cục bộ và không bao giờ bị gửi đi. Dù vậy, một token hợp lệ vẫn là thông tin xác thực – hãy thu hồi nó nếu bạn đã chia sẻ ở nơi bạn không kiểm soát.

Vì sao giải mã không phải là xác minh?

Payload chỉ được mã hóa Base64URL, không hề được mã hóa bảo mật. Xác minh đòi hỏi kiểm tra chữ ký bằng secret hoặc khóa công khai.

exp, nbf và iat nghĩa là gì?

exp là thời điểm hết hạn, nbf là "không trước" (token không hợp lệ trước thời điểm này), còn iat là thời điểm phát hành – tất cả tính bằng giây kể từ Unix epoch.

Khám phá thêm danh mục