NordVPN
SponsoredStrict no-logs VPN with 6,400+ servers in 111 countries. Threat Protection blocks ads, trackers, and malware while you work online.
Get NordVPN →วาง JWT เพื่อ decode header และ payload เป็น JSON ทันที รู้จัก standard claim (iat, exp, nbf) และแปลง Unix timestamp เป็น ISO 8601 แจ้งเตือน token ที่หมดอายุหรือยังไม่ถึงเวลาใช้งาน
Decode ทั้งหมดในเบราว์เซอร์ของคุณ Token ไม่เดินทางผ่านเครือข่าย
{
"alg": "HS256",
"typ": "JWT"
}{
"sub": "1234567890",
"name": "Jane Doe",
"iat": 1730000000,
"exp": 4886000000
}JWT คือสามส่วนที่เข้ารหัส Base64url เชื่อมด้วยจุด: header.payload.signature แต่ละส่วนเป็น JSON object ที่เข้ารหัสสำหรับการส่งที่ปลอดภัยกับ URL Header ประกาศอัลกอริทึมการลงนาม payload พกข้อมูล claim (subject, วันหมดอายุ ข้อมูลกำหนดเอง) และ signature ให้ผู้รับยืนยันความสมบูรณ์ถ้ามีคีย์
Decoder นี้อ่านเฉพาะสองส่วนแรก Signature คือส่วนที่สาม แต่การยืนยันต้องใช้ secret/public key — นั่นเป็นการดำเนินการแยกต่างหากที่เราไม่ทำที่นี่
iss (issuer): ผู้สร้าง token iat (issued at): เมื่อใด เป็น Unix timestamp exp (expiry): เมื่อหยุดใช้งาน เป็น Unix เช่นกัน nbf (not before): เวลาที่เร็วที่สุดที่ควร honor sub (subject): entity ที่แสดง มักเป็น user ID aud (audience): token มีไว้สำหรับใคร มักเป็น service URL
ไม่ทั้งหมดจำเป็น JWT ที่ minimal มักมีแค่ sub + iat + exp Custom claim คืออะไรก็ตามอื่น ๆ — อยู่ร่วมกับ standard claim ใน payload
ใครก็ decode JWT ได้ — header และ payload เป็นแค่ JSON ที่เข้ารหัส Base64 นั่นคือเหตุผลที่เราพูดว่า 'อย่าใส่ secret ใน payload': พวกมันเป็นสาธารณะโดยพื้นฐาน
Verification หมายถึงการตรวจสอบ signature ต่อต้าน secret key (HMAC) หรือ public key (RSA/ECDSA) โดยไม่มี verification คุณไม่สามารถเชื่อถือ claim ใด ๆ ใน payload ได้ — ผู้โจมตีสามารถสร้าง payload ใด ๆ ที่พวกเขาต้องการ
ใช้เครื่องมือนี้เพื่อตรวจสอบ token ระหว่าง debug ใช้ JWT library บนเซิร์ฟเวอร์เพื่อยืนยันใน production
ไม่ — verification ต้องการ secret หรือ public key ซึ่งไม่ควรออกจากสภาพแวดล้อมที่เชื่อถือได้ ใช้ JWT library ฝั่งเซิร์ฟเวอร์ (jsonwebtoken สำหรับ Node, PyJWT สำหรับ Python ฯลฯ)
ไม่เลย Decoding ทำงานในเครื่อง เราไม่มี server endpoint เพื่อรับมัน
พบบ่อย: copy-paste เพิ่ม/ลบช่องว่าง หายไปหนึ่งในสามส่วน หรือส่วนหนึ่งเป็น Base64url ที่ไม่ดี ตัดแต่งและลองใหม่
Base64url แทนที่ '+' ด้วย '-', '/' ด้วย '_' และลบ padding '=' เพื่อให้ string ที่เข้ารหัสปลอดภัยใน URL และ HTTP header JWT ใช้ Base64url เสมอ
เรา decode UTF-8 ซึ่งเป็นมาตรฐาน ถ้า payload ถูกเข้ารหัสต่างกัน JSON.parse อาจล้มเหลว ผู้ออก JWT ส่วนใหญ่ encode UTF-8 ถูกต้อง
ถ้า secret ยาวพอ (≥256 bit) และเก็บเป็นความลับ ใช่ ช่องโหว่ HS256 ที่พบบ่อยคือ secret ที่อ่อนแอและการยอมรับ token ที่มี alg='none' ใช้ secret สุ่ม ≥32 ตัวอักษรและปฏิเสธ 'none' อย่างชัดเจน
RS256 (RSA แบบ asymmetric) ให้คุณเผยแพร่ public key สำหรับการยืนยันในขณะที่เก็บ signing key ไว้เป็นส่วนตัว HS256 (HMAC แบบ symmetric) ต้องแชร์ secret กับทุก verifier สำหรับสถาปัตยกรรมหลายบริการ RS256 ปลอดภัยกว่า
ขีดจำกัดในทางปฏิบัติคือ ~10 MB ของ input เกินจากนั้นเบราว์เซอร์อาจช้า JWT มักต่ำกว่า 4 KB ถ้าของคุณใหญ่กว่า พิจารณาว่าคุณเก็บข้อมูลมากเกินไปใน claim หรือไม่
Strict no-logs VPN with 6,400+ servers in 111 countries. Threat Protection blocks ads, trackers, and malware while you work online.
Get NordVPN →Managed cloud hosting for WordPress and web apps on DigitalOcean, Vultr, and AWS. Fast setup, no server headaches.
Try Cloudways →Hire freelancers for design, writing, dev, and marketing — or sell your own services. Millions of gigs at every budget.
Browse Fiverr →