Danh sách

Giải mã Payload của JSON Web Token (JWT Payload Decoder)

Dễ
Thuật Toán Web Thực Chiến (Practical Web Algorithms) 600ms 64MB

JSON Web Token (JWT) là chuẩn xác thực stateless phổ biến nhất hiện nay trong các ứng dụng Web và Mobile (OAuth2, OpenID Connect). Một token JWT gồm 3 phần ngăn cách bởi dấu chấm .: Header.Payload.Signature.

Cho một chuỗi token jwtToken hợp lệ. Hãy bóc tách và giải mã phần Payload (phần thứ 2) từ định dạng Base64Url sang đối tượng JSON.

Lưu ý về chuẩn Base64Url:

  • Ký tự - tương ứng với + trong Base64 chuẩn.
  • Ký tự _ tương ứng với / trong Base64 chuẩn.
  • Cần thêm padding = ở cuối nếu độ dài chuỗi không chia hết cho 4 trước khi giải mã Base64.

Ví dụ 1:

Input: 'eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTYiLCJuYW1lIjoiQW50aWdyYXZpdHkifQ.signature'
Output: {'name': 'Antigravity', 'sub': '123456'}

Ví dụ 2:

Input: 'header.eyJyb2xlIjoiYWRtaW4ifQ.sig'
Output: {'role': 'admin'}
Định Dạng Đầu Vào (Input)
Một dòng chứa chuỗi jwtToken
Định Dạng Đầu Ra (Output)
Đối tượng JSON giải mã từ payload của JWT
Ràng Buộc (Constraints)
  • Token hợp lệ gồm 3 phần ngăn cách bởi dấu chấm .
Ví Dụ Kiểm Thử Mẫu
Ví dụ 1:
Input:
"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTYiLCJuYW1lIjoiQW50aWdyYXZpdHkifQ.signature"
Output:
{"name":"Antigravity","sub":"123456"}
Giải thích: Giải mã payload chứa sub và name
Ví dụ 2:
Input:
"header.eyJyb2xlIjoiYWRtaW4ifQ.sig"
Output:
{"role":"admin"}
Giải thích: Giải mã payload chứa role
Gợi ý được sắp xếp theo cấp độ tiến dần. Hãy mở từng gợi ý khi bạn thực sự cần thêm định hướng.

Kỹ thuật Base64URL Decoding O(n)

1. Cắt chuỗi bằng dấu chấm lấy phần thứ hai (index 1).
2. Thay thế - thành +, _ thành /.
3. Giải mã Base64 sang chuỗi JSON và parse thành đối tượng.

Vui lòng đăng nhập

Đăng nhập tài khoản học viên để xem lịch sử nộp bài của bạn.

Đăng nhập
Ctrl + Enter: Chạy thử
Dữ liệu đầu vào (Input):
"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTYiLCJuYW1lIjoiQW50aWdyYXZpdHkifQ.signature"
Kết quả kỳ vọng (Expected Output):
{"name":"Antigravity","sub":"123456"}
Dữ liệu đầu vào (Input):
"header.eyJyb2xlIjoiYWRtaW4ifQ.sig"
Kết quả kỳ vọng (Expected Output):
{"role":"admin"}
Nhập STDIN của bạn (Mỗi dòng một tham số):

Bấm Chạy thử để kiểm tra các bộ test mẫu hoặc Nộp bài để chấm điểm chính thức.

Đang gửi mã và thực thi trên Sandbox Engine...
Nhấn Ctrl+Enter để chạy

vừa nâng cấp PRO khóa 1 phút trước   Tìm hiểu khóa học