Công cụ tạo JWT

Tạo JSON Web Token có chữ ký với HS256/384/512, RS, PS, ES hoặc EdDSA. Sửa payload, đặt exp và iat, tạo khóa hoặc secret – tất cả ngay trong trình duyệt.

Dùng số byte ngẫu nhiên ít nhất bằng kích thước hash (32 byte cho HS256). Mật khẩu ngắn có thể bị dò vét cạn ngoại tuyến.

Token và khóa được tạo ngay trong trình duyệt bằng Web Crypto API (thư viện jose). Không có gì được tải lên.

Tạo JWT là gì?

Công cụ tạo JWT ký bất kỳ payload JSON nào thành một JSON Web Token dạng compact. Nó hỗ trợ HMAC (HS256/384/512), RSA (RS256/384/512), RSA-PSS (PS256/384/512), ECDSA (ES256/384/512) và EdDSA (Ed25519), có thể thêm claim iat và exp chỉ với một cú nhấn, và có thể tạo secret ngẫu nhiên hoặc cặp khóa mà bạn dùng khóa công khai của nó để xác minh.

Cách sử dụng Tạo JWT

  1. Chọn thuật toán.
  2. Sửa JSON của payload; dùng các nút để đặt iat là hiện tại hoặc exp là một giờ hay một ngày sau.
  3. Nhập secret (HS*) hoặc khóa riêng PEM PKCS#8 / JWK – hoặc nhấn Tạo secret ngẫu nhiên / Tạo cặp khóa.
  4. Nếu cần, đặt ID khóa (kid), rồi nhấn Ký token và sao chép token (cùng khóa công khai với thuật toán bất đối xứng).

Ví dụ

Đầu vào
HS256, payload {"sub":"1"}, secret your-256-bit-secret
Đầu ra
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxIn0.rTCH8cLoGxAm_xw68z-zXVKi9ie6xJn9tnVWjd_9ftE

Khi nào nên dùng Tạo JWT

Dùng công cụ để tạo token thử nghiệm khi phát triển API, tái hiện lỗi hoặc tìm hiểu cách ký JWT. Trên production, hãy phát hành token từ máy chủ xác thực để khóa luôn nằm trong kho bí mật; đừng bao giờ dán khóa riêng production vào một trang web.

Tạo JWT hoạt động như thế nào

Việc ký dùng thư viện jose trên nền Web Crypto API của trình duyệt. Header là {"alg": …, "typ": "JWT"} cộng thêm kid nếu có; header và payload được tuần tự hóa thành JSON, mã hóa Base64URL rồi ký. Secret HMAC được dùng dưới dạng byte UTF-8, hoặc được giải mã từ Base64/Base64URL khi ô tương ứng được tích. Secret HMAC được tạo gồm 32/48/64 byte ngẫu nhiên tương ứng kích thước hash; cặp khóa được tạo bằng Web Crypto và xuất ra dạng PEM PKCS#8 và SPKI.

Các Trường Hợp Sử Dụng Phổ Biến

  • Tạo token đã hết hạn để kiểm thử cách API xử lý lỗi 401.
  • Tạo cặp khóa RS256 và token để kiểm thử bộ xác minh dựa trên JWKS.
  • Ký token với các claim tùy chỉnh để phát triển cục bộ.
  • Minh họa sự khác nhau giữa chữ ký HS256 và ES256.

Lưu Ý Bảo Mật

Hãy dùng khóa dùng-một-lần khi kiểm thử. Secret HMAC ngắn hoặc dễ đoán có thể bị dò vét cạn ngoại tuyến từ bất kỳ token nào được ký bằng nó.

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

Nên dùng thuật toán nào?

HS256 khi cùng một dịch vụ vừa phát hành vừa xác minh token và giữ được secret dùng chung. RS256, ES256 hoặc EdDSA khi các bên khác cần xác minh token bằng khóa công khai.

Vì sao khóa RSA của tôi bị từ chối?

Khóa bắt đầu bằng BEGIN RSA PRIVATE KEY là PKCS#1. Hãy chuyển sang PKCS#8 (BEGIN PRIVATE KEY) bằng openssl pkcs8 -topk8 -nocrypt -in key.pem.

Khóa được tạo có bị lưu lại không?

Không. Chúng chỉ tồn tại trên trang cho đến khi bạn rời đi.

Bước tiếp theo nên làm

Khám phá thêm danh mục