Công cụ JWT — Giải mã, Xác minh và Ký

Giải mã JWT, xác minh chữ ký HS, RS và ES bằng khóa bí mật hoặc khóa công khai PEM, và ký token HS mới — hoàn toàn trong trình duyệt của bạn.

Đang tải công cụ…

Công cụ JWT — Giải mã, Xác minh và KýMột bộ công cụ JSON Web Token tất cả trong một với ba chế độ — Giải mã, Xác minh và Ký. Giải mã hiển thị phần header và payload của token ở dạng định dạng, Xác minh kiểm tra chữ ký bằng khóa bí mật HMAC (HS256/384/512) hoặc khóa công khai PEM (RS256/384/512, ES256/384/512), và Ký tạo ra một token mới được ký HS từ header, payload và khóa bí mật của bạn. Mọi thao tác đều chạy hoàn toàn phía máy khách bằng Web Crypto API tích hợp sẵn của trình duyệt, nên token, khóa bí mật và khóa không bao giờ rời khỏi máy của bạn.

Công cụ JWT — Giải mã, Xác minh và Ký là gì?

Công cụ JWT là một tiện ích JSON Web Token miễn phí, tất cả trong một, kết hợp một trình giải mã, một trình xác minh chữ ký và một trình ký HS ở cùng một nơi. Ở chế độ Giải mã, nó giải mã base64url token header.payload.signature và hiển thị header cùng payload dưới dạng JSON đã định dạng. Ở chế độ Xác minh, nó đọc trường alg từ header của token và kiểm tra chữ ký bằng Web Crypto API: một khóa bí mật HMAC dùng chung cho HS256, HS384 và HS512, hoặc một khóa công khai định dạng PEM cho RS256/RS384/RS512 (RSASSA-PKCS1-v1_5) và ES256/ES384/ES512 (ECDSA). Ở chế độ Ký, nó dựng và ký HMAC một token hoàn toàn mới từ một JSON header, một JSON payload, một thuật toán HS đã chọn và một khóa bí mật. Công cụ được xây dựng cho các kỹ sư backend và frontend, người kiểm thử QA và người tích hợp API, những người gỡ lỗi xác thực, phiên OAuth/OIDC và việc hết hạn token mà không cần dán khóa bí mật vào một dịch vụ từ xa.

Cách sử dụng Công cụ JWT — Giải mã, Xác minh và Ký

  1. Chọn một chế độ ở trên cùng: Giải mã, Xác minh hoặc Ký.
  2. Giải mã: dán một JWT (header.payload.signature) vào ô token và đọc Header cùng Payload đã định dạng bên dưới — không có kiểm tra chữ ký ở đây.
  3. Xác minh: dán token, rồi dán khóa bí mật HMAC (cho các thuật toán HS) hoặc khóa công khai PEM (cho RS/ES) vào ô khóa; công cụ đọc alg từ header và hiển thị kết quả màu xanh 'hợp lệ' hoặc màu đỏ 'không hợp lệ'.
  4. Ký: nhập một JSON header và một JSON payload, chọn HS256, HS384 hoặc HS512, gõ khóa bí mật của bạn, rồi sao chép token vừa được ký xuất hiện.
  5. Dùng nút Sao chép trên bất kỳ kết quả nào, hoặc Xóa để đặt lại đầu vào giải mã.

Ví dụ

Giải mã một token

Đầu vào

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0In0.sig

Đầu ra

Header:
{
  "alg": "HS256",
  "typ": "JWT"
}
Payload:
{
  "sub": "1234"
}

Xác minh một token HS256

Đầu vào

token: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIn0.<sig>
secret: your-256-bit-secret

Đầu ra

valid (HS256)

Ký một token HS256 mới

Đầu vào

header: {}
payload: { "sub": "1234567890", "name": "Jane Doe" }
secret: your-256-bit-secret

Đầu ra

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkphbmUgRG9lIn0.<signature>

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

Token, khóa bí mật và khóa của tôi có được tải lên đâu đó không?
Không. Mọi chế độ đều chạy hoàn toàn phía máy khách trong trình duyệt của bạn bằng Web Crypto API tích hợp sẵn (crypto.subtle) cho HMAC và xác minh chữ ký, cùng với base64url và JSON trong JavaScript. Không có gì — dù là token, khóa bí mật hay khóa PEM — từng được gửi đến bất kỳ máy chủ nào, nên việc làm việc với thông tin xác thực môi trường sản xuất là an toàn.
Nó có thể xác minh những thuật toán nào?
Xác minh hỗ trợ HS256, HS384 và HS512 với khóa bí mật HMAC dùng chung, cùng RS256/RS384/RS512 (RSASSA-PKCS1-v1_5) và ES256/ES384/ES512 (ECDSA) với khóa công khai định dạng PEM. Nó tự động đọc trường alg từ header của token, nên bạn chỉ cần cung cấp khóa bí mật hoặc khóa công khai phù hợp.
Nó có thể ký bằng những thuật toán nào?
Chế độ Ký chỉ tạo ra token được ký HMAC — HS256, HS384 hoặc HS512 — từ JSON header, JSON payload và một khóa bí mật của bạn. Việc ký RSA và ECDSA cần một khóa riêng tư và nằm ngoài phạm vi ở đây; với RS/ES bạn vẫn có thể xác minh bằng khóa công khai phù hợp trong chế độ Xác minh.
Chế độ Giải mã có kiểm tra chữ ký không?
Không. Giải mã chỉ giải mã base64url và hiển thị header cùng payload ở dạng định dạng — nó không bao giờ xác thực chữ ký. Hãy chuyển sang chế độ Xác minh và cung cấp một khóa bí mật hoặc khóa công khai để xác nhận token là xác thực, và đừng bao giờ tin tưởng một payload đã giải mã cho đến khi chữ ký của nó được xác minh.
Tại sao việc xác minh báo không hợp lệ hoặc lỗi?
'Không hợp lệ' nghĩa là chữ ký không khớp với khóa bí mật hoặc khóa bạn cung cấp. Trong khi đó, 'lỗi' nghĩa là không thể xử lý đầu vào — ví dụ token thiếu phân đoạn chữ ký, alg không được hỗ trợ, hoặc không thể phân tích khóa công khai PEM. Hãy kiểm tra xem bạn đã dán đầy đủ token và đúng khóa cho thuật toán của nó chưa.

Công cụ liên quan