LogoSTACKBAY

Trình Gỡ Lỗi JWT

Giải mã JWT để kiểm tra header/payload hoặc mã hóa để tạo JWT mới.

JWT là gì?

JWT (JSON Web Token) là tiêu chuẩn mở (RFC 7519) được sử dụng để truyền thông tin an toàn giữa hai hệ thống. Nó chủ yếu được sử dụng cho xác thực và ủy quyền, và bao gồm ba phần: header, payload và chữ ký. JWT chứa thông tin bên trong, nên trạng thái xác thực có thể được duy trì mà không cần kho lưu trữ phiên riêng. Tuy nhiên, thông tin nhạy cảm phải được mã hóa hoặc ký để quản lý an toàn.

Cấu Trúc JWT

JWT bao gồm ba phần: header, payload và chữ ký. Header chứa loại token và thuật toán ký, payload chứa dữ liệu thực tế (claims), và chữ ký được sử dụng để xác minh tính toàn vẹn của token. Ba phần này được mã hóa base64url và phân cách bằng dấu chấm.

Header
Payload
Chữ Ký

Cách Sử Dụng Trình Gỡ Lỗi JWT

  1. 1Tab Giải Mã: Dán JWT hiện có và nhập khóa bí mật để xác minh chữ ký.
  2. 2Tab Mã Hóa: Chỉnh sửa header và payload, sau đó nhập khóa bí mật để tạo JWT mới.
  3. 3Chọn Thuật Toán: Chọn thuật toán ký mong muốn từ menu thả xuống ở trên cùng.
  4. 4Đồng Bộ Thời Gian Thực: Dữ liệu đầu vào được mã hóa/giải mã và hiển thị thời gian thực.

Thuật Toán Được Hỗ Trợ

JWT hỗ trợ nhiều thuật toán mật mã khác nhau. Mỗi thuật toán có mức độ bảo mật và đặc điểm hiệu suất khác nhau, nên chọn theo nhu cầu.

Thuật Toán Khóa Đối Xứng (HMAC)

  • - HS256, HS384, HS512: HMAC + SHA-256/384/512 (khóa đối xứng)

Thuật Toán Khóa Bất Đối Xứng (RSA, ECDSA)

  • - RS256, RS384, RS512: RSASSA-PKCS1-v1_5 + SHA-256/384/512 (khóa bất đối xứng, RSA)
  • - PS256, PS384, PS512: RSASSA-PSS + SHA-256/384/512 (khóa bất đối xứng, RSA-PSS)
  • - ES256, ES384, ES512: ECDSA + P-256/384/521 + SHA-256/384/512 (khóa bất đối xứng, đường cong elliptic)

Tính Năng Chính

  • Giải mã và mã hóa token JWT thời gian thực
  • Hỗ trợ nhiều thuật toán ký (HS256, RS256, ES256, v.v.)
  • Xác minh và tạo chữ ký
  • Hỗ trợ mã hóa/giải mã Base64URL
  • Chuyển đổi giữa chế độ xem JSON và bảng

Trường Hợp Sử Dụng

Trình Gỡ Lỗi JWT hữu ích trong các tình huống sau:

  • Xác minh token JWT trong quá trình phát triển và gỡ lỗi API
  • Tạo và kiểm tra token khi triển khai hệ thống xác thực
  • Phân tích payload JWT cho kiểm tra bảo mật
  • Tìm hiểu cấu trúc JWT cho mục đích giáo dục

Câu Hỏi Thường Gặp

JWT là gì và tại sao nó được sử dụng?

JWT (JSON Web Token) là tiêu chuẩn mở để truyền thông tin an toàn giữa các bên. Nó thường được sử dụng cho xác thực và ủy quyền trong ứng dụng web vì không cần trạng thái và chứa tất cả thông tin cần thiết trong token.

Sự khác biệt giữa thuật toán đối xứng và bất đối xứng?

Thuật toán đối xứng (HS256, HS384, HS512) sử dụng cùng một khóa bí mật cho cả ký và xác minh. Thuật toán bất đối xứng (RS256, ES256, v.v.) sử dụng khóa riêng tư để ký và khóa công khai để xác minh, cung cấp bảo mật tốt hơn cho hệ thống phân tán.

Giải mã JWT với dữ liệu nhạy cảm ở đây có an toàn không?

Tất cả xử lý JWT được thực hiện cục bộ trong trình duyệt. Không có token hoặc khóa nào được gửi đến máy chủ bên ngoài. Tuy nhiên, tránh sử dụng khóa bí mật sản xuất thực cho mục đích thử nghiệm.

Làm cách nào để xác minh chữ ký JWT hợp lệ?

Dán JWT vào tab giải mã và nhập khóa bí mật hoặc khóa công khai đúng. Công cụ sẽ tự động xác minh chữ ký và hiển thị hợp lệ hay không.

Tôi có thể sử dụng công cụ này để tạo JWT sản xuất không?

Mặc dù công cụ này có thể tạo JWT hợp lệ, nên sử dụng backend ứng dụng cho tạo token sản xuất để đảm bảo khóa bí mật luôn an toàn.