Trình giải mã & Gỡ lỗi JWT Miễn phí

Dán bất kỳ JSON Web Token nào để giải mã ngay lập tức header và payload của nó, kiểm tra trạng thái hết hạn và xác minh chữ ký — HS256, RS256, ES256, PS256 và hơn thế nữa. 100% chạy phía client; token của bạn không bao giờ rời khỏi trình duyệt của bạn.

9 Thuật toán được hỗ trợ
100% Bảo mật trên trình duyệt
0 Dữ liệu gửi đến máy chủ
Header Payload Chữ ký (Signature)
Dán JWT vào ô trên để giải mã ngay lập tức.

Bên trong JWT có gì

Header

Một đối tượng JSON nhỏ chỉ định tên thuật toán ký (alg) và loại token (typ). Nó chỉ được mã hóa, không bị mã hóa bảo mật — có thể được nhìn thấy bởi bất kỳ ai có token.

JSON được mã hóa Base64URL

Payload

Các Claims — dữ liệu thực tế, chẳng hạn như người mà token đại diện (sub) và khi nào nó hết hạn (exp). Nó cũng chỉ được mã hóa, đừng bao giờ coi nó là dữ liệu bí mật.

JSON được mã hóa Base64URL

Chữ ký (Signature)

Chữ ký mật mã trên header và payload. Đây là phần duy nhất chứng minh token là thật và không bị sửa đổi — và là phần duy nhất yêu cầu khóa (key) để kiểm tra.

Ký bằng HMAC hoặc Khóa công khai

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

Trình giải mã JWT làm gì?

Trình giải mã JWT chia token thành ba phần — header, payload, và chữ ký — sau đó giải mã Base64URL header và payload để bạn có thể đọc các claims thực sự và metadata bên trong, chẳng hạn như thuật toán được sử dụng, chủ thể, và thời gian hết hạn.

Giải mã JWT có giống với xác minh nó không?

Không. Việc giải mã chỉ tiết lộ nội dung có thể đọc được của token — nó không yêu cầu khóa bí mật và không chứng minh được tính xác thực của nó. Xác minh là việc kiểm tra chữ ký đối chiếu với khóa bí mật hoặc khóa công khai để xác nhận rằng token là hàng thật và chưa bị giả mạo. Bất kỳ ai cũng có thể giải mã JWT; chỉ ai có đúng khóa mới có thể xác minh nó.

Tôi có cần khóa bí mật để giải mã JWT không?

Không. Header và payload của JWT chỉ được mã hóa Base64URL, không bị mã hóa bảo mật, vì vậy bất kỳ ai cũng có thể giải mã và đọc chúng mà không cần bất kỳ khóa nào. Khóa bí mật hoặc khóa công khai chỉ cần thiết để xác minh chữ ký, chứ không phải để giải mã nội dung có thể đọc được.

Dữ liệu token của tôi có được gửi đến máy chủ của bạn không?

Không. Công cụ này chạy hoàn toàn trong trình duyệt của bạn bằng JavaScript và Web Crypto API. Token, khóa bí mật và khóa công khai của bạn không bao giờ được truyền đi đâu cả. Bạn có thể tự mình xác minh điều này bằng cách kiểm tra tab Network (Mạng) trên trình duyệt của bạn khi sử dụng công cụ.

Tôi có thể xác minh token RS256 hoặc ES256 bằng công cụ này không?

Có. Trình giải mã này hỗ trợ xác minh chữ ký cho các thuật toán HMAC (HS256, HS384, HS512) bằng cách sử dụng khóa bí mật dùng chung, và cho các thuật toán khóa công khai (RS256/384/512, ES256/384/512, PS256/384/512) bằng cách sử dụng khóa công khai định dạng PEM.

Tại sao token của tôi lại hiển thị là đã hết hạn?

JWT thường bao gồm claim exp — một dấu thời gian Unix đánh dấu thời điểm token hết hiệu lực. Nếu thời gian hiện tại đã vượt qua dấu thời gian đó, token đã hết hạn và sẽ bị từ chối bởi bất kỳ máy chủ nào kiểm tra nó, ngay cả khi bản thân chữ ký vẫn hợp lệ.

alg: none có nghĩa là gì và tại sao nó bị cảnh báo?

Thuật toán "none" có nghĩa là token tự tuyên bố không có chữ ký nào cả. Đây là một lỗ hổng JWT đã được ghi nhận rõ ràng — một số thư viện có cấu hình kém sẽ chấp nhận các token này là hợp lệ mà không kiểm tra bất cứ điều gì, cho phép kẻ tấn công giả mạo bất kỳ claim nào tùy ý. Hệ thống thực tế (production) phải luôn từ chối các token không có chữ ký.

Bạn Cần Tạo Khóa Bí Mật Mới?

Tạo một khóa bí mật JWT an toàn theo chuẩn mật mã để ký các token mới — miễn phí, ngay lập tức và 100% dựa trên trình duyệt.

Đi tới Trình tạo Khóa Bí mật JWT