Giải mã JWT

Dán JWT bên dưới để giải mã và kiểm tra header, payload và chữ ký. Lưu ý: công cụ này không xác minh chữ ký. Mọi xử lý đều diễn ra cục bộ trong trình duyệt của bạn.

Đã sao chép!

Thông tin Token

JWT là gì?

JSON Web Token (JWT) là một định dạng token nhỏ gọn, an toàn cho URL, được sử dụng để truyền thông tin an toàn giữa các bên. Nó bao gồm ba phần được phân tách bằng dấu chấm (.):

  1. Header - thuật toán và loại token (ví dụ: HS256, RS256)
  2. Payload - các claim/dữ liệu (ví dụ: sub, iat, exp)
  3. Chữ ký - xác minh token chưa bị giả mạo

Giải mã một token không chứng minh được điều gì về nó, vì phần tiêu đề và phần tải chỉ là base64url và ai cũng viết lại được. Chữ ký mới là thứ quan trọng, nên hãy dán bí mật dùng chung và trang sẽ kiểm tra ngay tại đây, trong trình duyệt của bạn, với HS256, HS384 và HS512. Các thuật toán còn lại ký bằng khoá riêng và xác minh bằng khoá công khai, thứ mà một trang như thế này không nên bảo bạn dán vào. Thời gian hiển thị theo đồng hồ của bạn, kèm khoảng cách, vì thứ bạn tìm thường chính là hạn hết hiệu lực.

Lưu ý: Công cụ này chỉ giải mã token. Nó không xác minh chữ ký.

Bạn thật sự đang lưu cái đó thế nào?

Hàm băm, token và mật khẩu chỉ mạnh bằng đúng đoạn mã bao quanh chúng: một hệ số chi phí để nguyên mặc định, một token không ai kiểm tra hạn, một khoá bí mật lỡ đẩy lên kho mã. Chúng tôi rà soát và làm cứng ứng dụng, rồi nói cho bạn biết kẻ tấn công chạm tới đâu trước tiên.

Đặt lịch rà soát bảo mật

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

Giải mã được có nghĩa là token hợp lệ không?
Không, và đây chính là hiểu lầm đáng tránh. Phần tiêu đề và phần tải chỉ là base64url, nên ai cũng viết lại được và tạo ra thứ giải mã rất trơn tru. Chỉ chữ ký mới nói lên rằng token đến từ đúng nơi nó tự nhận. Hãy dán bí mật vào và trang này sẽ kiểm tra.
Ở đây kiểm tra được những thuật toán nào?
HS256, HS384 và HS512, những thuật toán ký bằng một bí mật dùng chung. Token RS, ES và PS ký bằng khoá riêng và xác minh bằng khoá công khai, mà dán bất kỳ khoá nào trong hai loại đó vào một trang web là thói quen không nên tập. Với chúng, hãy xác minh trong mã của chính bạn bằng bộ khoá đã công bố.
Token có alg là none nghĩa là gì?
Nghĩa là nó không mang chữ ký dùng được nào cả, nên phần tải muốn nói gì cũng được. Đặc tả có nó để dành cho những token được bảo vệ bằng cách khác, và đó là một kiểu tấn công nổi tiếng khi thư viện mặc định chấp nhận. Nếu thấy nó trên một token thật, hãy coi token đó là dữ liệu không tin cậy.
Dán một token thật vào đây có an toàn không?
Trang không bao giờ tải gì lên, nên không có gì rời khỏi trình duyệt của bạn. Dù vậy, một token còn sống là một thông tin đăng nhập, và ô bí mật được cố ý loại khỏi phần thiết lập được lưu cũng như khỏi chuỗi truy vấn, để không bị lưu hay chia sẻ nhầm. Hãy thu hồi mọi thứ bạn dán ở nơi bạn không kiểm soát.
Vì sao phần hết hạn hiển thị kèm khoảng cách thời gian?
Vì đó thường chính là câu hỏi. Một token hết hạn bốn phút trước và một token hết hạn sau bốn giờ nhìn dưới dạng số thì gần như giống nhau, nên trang hiển thị cả hai theo đồng hồ của bạn và viết rõ khoảng cách. Có thể xem thời gian theo UTC nếu bạn đang đối chiếu với nhật ký máy chủ.