JWT Builder & Sign (HS256, Web Crypto)
Build & sign JWT token với HMAC-SHA256 (HS256) qua Web Crypto API. Quick claim helpers (iat, exp). Cho test/dev API auth — chạy 100% trong browser.
Tip: dùng exp: 1778952734 để token hết hạn sau 1h.
JWT Builder ký token với HMAC-SHA256 (HS256) qua Web Crypto API. Chạy 100% trong browser, secret KHÔNG gửi đi đâu. Chỉ dùng cho test/dev — production cần proper signing trên server.
Khi nào cần build JWT?
- Test API auth: cần valid token để test endpoint protected — sinh token rồi paste vào Postman/curl.
- Mock auth response: frontend dev không phải đợi backend implement /login — fake JWT response.
- Học JWT: thử nghiệm các claim, signature — hiểu cách auth hoạt động.
- Debug expired token: regenerate token mới với
explớn hơn.
Cấu trúc JWT
<header>.<payload>.<signature>
Header: base64url(JSON header) # alg, typ
Payload: base64url(JSON claims) # sub, exp, iat, custom...
Signature: base64url(HMAC-SHA256(
header + "." + payload, secret
)) Standard claims (RFC 7519)
- iss (issuer): ai phát hành token.
- sub (subject): user_id token này về.
- aud (audience): token cho service nào.
- exp (expiration time): timestamp Unix khi token hết hạn.
- nbf (not before): timestamp Unix sớm nhất token có hiệu lực.
- iat (issued at): timestamp Unix khi tạo token.
- jti (JWT ID): unique ID — chống replay attack.
⚠️ Cảnh báo bảo mật
- HS256 vs RS256: HS256 dùng symmetric secret — server phát hành & verify dùng cùng key. RS256 dùng asymmetric (private/public) — secure hơn cho microservice. Tool này chỉ HS256.
- Secret yếu: tránh secret ngắn (< 32 byte). Production phải dùng random 256-bit secret từ
crypto.randomBytes(32). - KHÔNG lưu sensitive data trong payload: payload chỉ base64-encoded (KHÔNG mã hoá) — ai cũng đọc được. Đừng để password, full credit card.
- Production phải sign server-side: tool này chạy browser → secret leak nếu paste production secret. Chỉ dùng cho test/dev.
Phù hợp với ai
Backend dev, API integrator, người debug response JSON/YAML/CSV, hoặc làm việc với dữ liệu cấu trúc thường xuyên.
Câu hỏi thường gặp
Dữ liệu nhạy cảm có an toàn không?
Có. JSON/YAML/CSV bạn paste KHÔNG được upload lên server. Mọi xử lý (parse, format, validate) diễn ra cục bộ trong trình duyệt.
Có giới hạn dung lượng dữ liệu không?
Phụ thuộc vào RAM trình duyệt. Thông thường file dưới 10MB chạy mượt. File lớn hơn có thể chậm hoặc đứng tab.
Công cụ liên quan
Xem tất cả công cụ →JWT Decoder
Decode JWT token, xem header/payload/claims với thời gian dễ đọc.
MỚIFormat JSON
Format / minify / validate JSON. Sort key A-Z, custom indent, phím tắt Ctrl+Enter.
MỚIUUID / Hash / Base64 / URL
Bundle 4 dev tool: UUID v4, SHA-256/512 hash, Base64 (URL-safe), URL encode.
MỚIJSONPath Tester
Test JSONPath query với JSON sample. Pick data từ API response, debug structured output. Recursive descent + filter.