QuickATools

Công cụ lập trình · Free browser tool

Bộ giải mã JWT

Giải mã JSON Web Token (JWT) ngay lập tức phía client. Xem header, payload và dữ liệu chữ ký an toàn với bộ nhân hóa timestamp tích hợp.

Encoded JWT

Paste a token — optional Bearer prefix is stripped.

DecodedSignature not verified

Timestamp humanizer

  • exp1893456000

    2030-01-01 00:00:00 · in 1236 days

    Active
  • iat1723000000

    2024-08-07 03:06:40 · 736 days ago

Header

JSON
{
  "alg": "HS256",
  "typ": "JWT"
}

Payload

JSON
{
  "sub": "1234567890",
  "name": "홍길동",
  "email": "user@example.com",
  "iat": 1723000000,
  "exp": 1893456000
}

Signature

Raw
signature-placeholder

Decoding does not prove authenticity. Verify signatures in your backend with the issuer's secret or public key.

Frequently Asked Questions

Ba phần của JWT là gì, và mỗi phần làm gì?

JWT gồm ba đoạn mã hóa Base64URL tách bằng dấu chấm: Header.Payload.Signature. Header mô tả loại token và thuật toán ký (ví dụ HS256, RS256). Payload mang claim — id người dùng, vai trò, hết hạn (exp), phát hành (iat), và mọi trường tùy chỉnh API đặt vào. Signature là con dấu mật mã trên hai phần đầu; bộ giải mã hiện chuỗi chữ ký thô nhưng không xác minh, vì xác minh cần secret hoặc khóa công khai.

Sự khác biệt giữa giải mã JWT và xác minh là gì?

Giải mã chỉ Base64URL-decode header và payload để bạn đọc claim — ai cũng làm được mà không cần khóa, vì JWT được ký, không mã hóa bảo mật. Xác minh kiểm tra chữ ký khớp bằng secret hoặc khóa công khai của issuer, chứng minh token không bị giả mạo và đến từ bên tin cậy. Công cụ này là bộ giải mã để debug; nó không bao giờ khẳng định token xác thực trừ khi bạn xác minh chữ ký riêng trong backend của mình.

Tôi nên đọc Unix timestamp như exp, iat và nbf trong JWT thế nào?

Các claim đó lưu dạng Unix time tính bằng giây từ 1970-01-01 UTC. Công cụ phát hiện các khóa timestamp phổ biến (exp, iat, nbf, auth_time) và hiện ngày/giờ địa phương tương đương cạnh mỗi giá trị. Với exp cụ thể, nó cũng gắn badge token là Expired hoặc Active dựa trên đồng hồ hiện tại của trình duyệt — hữu ích để phát hiện lệch đồng hồ hoặc token staging cũ trong nháy mắt.

Vì sao giải mã JWT cục bộ thay vì dán vào debugger online?

JWT production và staging thường chứa id người dùng, địa chỉ email, vai trò hoặc PII khác trong payload — và đôi khi người ta dán token cũng xuất hiện trong header Authorization cạnh secret. Debugger phía máy chủ nhận toàn bộ chuỗi đó. Công cụ này không bao giờ tải lên gì: giải mã Base64URL, parse JSON và định dạng timestamp đều chạy trong trình duyệt, nên token nhạy cảm ở lại trên máy bạn.

JWT được mã hóa vận chuyển, không mã hóa bảo mật — hãy giải mã cục bộ

JSON Web Token trông mờ đục, nhưng header và payload chỉ là JSON mã hóa Base64URL. Ai giữ chuỗi đều có thể đọc claim mà không cần khóa bí mật. Đó là theo thiết kế — chữ ký chứng minh toàn vẹn, không bảo mật nội dung — và cũng là lý do dán token production vào debugger online ngẫu nhiên rủi ro. Id người dùng, email, vai trò và PII khác thường nằm lộ rõ trong payload.

Bộ giải mã này không bao giờ gửi token của bạn đi đâu. Tách đoạn, giải mã Base64URL (với hỗ trợ UTF-8 đầy đủ cho claim không Latin), pretty-print JSON và nhân hóa timestamp đều chạy trong trình duyệt. Dùng để kiểm tra JWT staging hoặc production khi debug luồng auth mà không lộ token đó — hoặc bất kỳ secret nào ngồi cạnh trong header Authorization — cho máy chủ bên thứ ba.

Nhớ giới hạn cứng của công cụ: nó giải mã, không xác minh. Payload trông hợp lệ vẫn có thể bị giả nếu bạn bỏ kiểm tra chữ ký. Luôn xác minh JWT trong backend bằng secret hoặc khóa công khai của issuer. Ở đây, bộ nhân hóa exp, iat và nbf chỉ giúp bạn đọc trạng thái hết hạn trong nháy mắt khi debug.

Tiện ích developer liên quan trên site này: dọn JSON claim lồng bằng Định dạng & kiểm tra JSON, kiểm tra payload Base64 khác bằng Mã hóa/Giải mã Base64, tạo id fixture bằng Trình tạo UUID/GUID, hoặc xác thực mẫu parse claim trong Trình kiểm tra Regex.