Chuyển đến nội dung

Giải mã và xác minh JWT

Giải mã header và claim của JSON Web Token, kiểm tra thời hạn và xác minh chữ ký; token không rời khỏi trình duyệt của bạn.

Giải mã và xác minh ngay trong tab này – token và khóa không bao giờ được gửi đi đâu cả.

Header, claim và thời hạn sẽ hiện ở đây khi bạn dán token.
Chạy ngay trên trình duyệt · không cần tải lênCách hoạt động

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

  1. 1

    Dán token

    Dán JWT lấy từ header Authorization, cookie hoặc bộ nhớ của ứng dụng; tiền tố “Bearer ” ở đầu sẽ được bỏ qua.

  2. 2

    Đọc các claim

    Xem bảng header và payload, thời gian exp, iat, nbf dễ đọc và biểu ngữ về thời hạn.

  3. 3

    Thêm khóa

    Nhập khóa bí mật HMAC, hoặc dán khóa công khai dạng PEM, chứng chỉ, JWK hay JWKS.

  4. 4

    Xác minh chữ ký

    Nhấn Xác minh chữ ký để xác nhận token được ký bằng khóa đó và chưa bị thay đổi.

Giới hạn và Pro

Miễn phí, không cần đăng ký, không giới hạn số token; hỗ trợ xác minh 13 thuật toán (HS, RS, PS và ES ở mức 256, 384 và 512 bit, cùng EdDSA).

Pro gỡ quảng cáo; giải mã và xác minh giống nhau ở mọi gói. Xem Pro

Về Giải mã JWT

JSON Web Token (JWT) gồm ba chuỗi Base64URL nối với nhau bằng dấu chấm: header cho biết thuật toán ký, payload chứa các claim và chữ ký. Hãy dán token vào, có hoặc không có tiền tố “Bearer ”. Công cụ sẽ hiển thị header và payload dưới dạng bảng dễ đọc hoặc JSON đã định dạng, tô màu ba phần của token và giải thích các trường chuẩn như iss, sub, aud, kid và scope.

Các claim thời gian được tự động chuyển đổi: exp, iat, nbf và auth_time hiển thị theo múi giờ của bạn, theo UTC và dưới dạng thời gian tương đối (“hết hạn sau 2 giờ”, “đã hết hạn 3 ngày trước”). Một biểu ngữ cho biết ngay token đã hết hạn, chưa có hiệu lực hay không có thời hạn, đồng thời cảnh báo khi exp có vẻ tính bằng mili giây thay vì giây.

Giải mã không chứng minh được ai đã phát hành token, nên công cụ kiểm tra chữ ký bằng WebCrypto tích hợp sẵn trong trình duyệt. HS256, HS384 và HS512 cần khóa bí mật dùng chung (văn bản thường hoặc Base64). Các thuật toán RS, PS và ES ở mức 256, 384 và 512 bit, cùng EdDSA với Ed25519, cần khóa công khai. Bạn có thể dán khóa dạng PEM, khối RSA PUBLIC KEY, chứng chỉ X.509, một JWK hoặc cả JWKS, khi đó khóa được chọn theo kid của token.

Công cụ không giải mã được token JWE (loại có năm phần) và không tự tải URL JWKS. Hãy mở jwks_uri của nhà phát hành rồi dán JSON vào.

Quyền riêng tư

Token là thông tin xác thực dạng bearer nên trang này xử lý rất cẩn trọng: việc giải mã và kiểm tra chữ ký chạy ngay trên trình duyệt bằng WebCrypto. Token, khóa bí mật và khóa công khai không bao giờ được gửi lên máy chủ, ghi log hay lưu lại. Đóng hoặc tải lại tab là mọi thứ được xóa sạch.

Tính năng

Thời gian dễ đọc

exp, iat và nbf theo múi giờ của bạn, theo UTC và dạng “sau 2 giờ” hoặc “3 ngày trước”.

Kiểm tra chữ ký thật

HMAC, RSA, RSA-PSS, ECDSA và Ed25519 được xác minh bằng WebCrypto với khóa hoặc JWKS của bạn.

Token ở lại trên máy

Không có gì được tải lên, nên bạn có thể kiểm tra token production một cách an toàn.

Giải mã JWT: 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ã và xác minh bằng JavaScript chạy ngay trong tab của bạn, không có yêu cầu nào chứa token được gửi đi, bạn có thể kiểm chứng trong bảng Network của trình duyệt. Tuy vậy, token còn hạn hoạt động như mật khẩu, nên đừng dán token đang dùng vào trang không đáng tin, và hãy ưu tiên token hết hạn hoặc token thử nghiệm khi chia sẻ ảnh chụp màn hình.
Vì sao token đã giải mã vẫn chưa chứng minh được gì?
Ai cũng có thể tự tạo header và payload rồi mã hóa Base64URL; giải mã chỉ là làm ngược lại bước đó. Chỉ chữ ký mới gắn token với nơi phát hành. Hãy xác minh bằng khóa công khai của nhà phát hành hoặc khóa bí mật dùng chung trước khi tin bất kỳ claim nào, và kiểm tra alg đúng như máy chủ của bạn mong đợi, vì chấp nhận “none” hoặc thuật toán bị tráo là lỗ hổng kinh điển.
Tìm khóa công khai để xác minh token RS256 hoặc ES256 ở đâu?
Các nhà cung cấp danh tính công bố khóa dưới dạng JWK Set. Hãy tra /.well-known/openid-configuration của nhà phát hành, mở jwks_uri được liệt kê rồi dán JSON đó vào đây; công cụ sẽ dùng khóa có kid khớp với header của token. Bạn cũng có thể dán khóa công khai PEM hoặc chứng chỉ X.509 của nhà phát hành.
exp, iat và nbf có nghĩa là gì?
Đây là các claim NumericDate, tính bằng giây kể từ ngày 1 tháng 1 năm 1970 UTC. exp là thời điểm token hết hiệu lực, iat là lúc phát hành và nbf là thời điểm sớm nhất token được chấp nhận. Máy chủ thường cho phép lệch đồng hồ một hai phút. Công cụ hiển thị từng giá trị dưới dạng ngày giờ địa phương, mốc UTC và thời gian tương đối.
Vì sao xác minh thất bại dù khóa bí mật HMAC đúng?
Nguyên nhân thường gặp là khoảng trắng bị sao chép kèm khóa, khóa đã được mã hóa Base64 khi ký token, hoặc token bị công cụ khác mã hóa lại làm đổi byte của header hay payload. Hãy thử bật tùy chọn “Khóa bí mật được mã hóa Base64”. Mọi thay đổi ở hai phần đầu, kể cả đổi thứ tự khóa JSON, đều làm chữ ký mất hiệu lực.