ข้ามไปยังเนื้อหาหลัก
FreeOnlineTools Go
ไทย
วิธี

วิธีถอดรหัส JWT Token และตรวจสอบ Claims อย่างปลอดภัย

โดย FreeOnlineTools Team · อัปเดตเมื่อ 2026-09-02

ตอบด่วน

วิธีถอด JWT: วาง token ใน JWT Decoder header และ payload จะปรากฏเป็น JSON ทันที เครื่องมือถอดส่วน Base64URL ในเครื่อง —token ไม่ออกจากเบราว์เซอร์ จำไว้: การถอดแสดงเนื้อหาเท่านั้น ไม่พิสูจน์ signature

การแนะนำ

JWT (JSON Web Token) เป็นรูปแบบ token กระชับ URL-safe สำหรับ authentication และการแลกเปลี่ยนข้อมูล JWT มีสามส่วนคั่นด้วยจุด: header.payload.signature header ระบุ algorithm, payload มี claims (user ID, roles, expiration), signature พิสูจน์ว่า token ไม่ถูกดัดแปลง การถอดรหัสทำให้ตรวจสอบเนื้อหาเพื่อ debug —แต่ไม่พิสูจน์ความถูกต้อง

ทีละขั้นตอน

  1. เปิดเครื่องมือถอดรหัส JWT

    ไปที่หน้าเครื่องมือถอดรหัส JWT เครื่องมือยอมรับสตริง JWT ใดๆ (ส่วนที่เข้ารหัส Base64URL สามส่วนที่คั่นด้วยจุด)

  2. วางโทเค็น JWT ของคุณ

    วาง JWT ลงในช่องป้อนข้อมูล JWT โดยทั่วไปจะมีลักษณะดังนี้: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyMSJ9.signature เครื่องมือจะตรวจจับทั้งสามส่วนโดยอัตโนมัติ

  3. ตรวจสอบส่วนหัวที่ถอดรหัสแล้ว

    เครื่องมือ Base64URL ถอดรหัสส่วนแรกและแสดงเป็น JSON โดยทั่วไปส่วนหัวจะประกอบด้วย 'alg' (อัลกอริทึม เช่น HS256) และ 'typ' (ประเภท โดยทั่วไปคือ 'JWT')

  4. ตรวจสอบเพย์โหลดที่ถอดรหัส (การอ้างสิทธิ์)

    เครื่องมือจะถอดรหัสส่วนที่สองและแสดงการอ้างสิทธิ์ในรูปแบบ JSON คำกล่าวอ้างทั่วไป ได้แก่ 'sub' (หัวเรื่อง/ID ผู้ใช้), 'iat' (ออกเมื่อ), 'exp' (หมดอายุ) และ 'role' (บทบาทของผู้ใช้)

  5. ตรวจสอบลายเซ็น (ส่วนที่สาม)

    เครื่องมือจะแสดงส่วนลายเซ็น หมายเหตุ: การถอดรหัสไม่ได้ตรวจสอบลายเซ็น ในการตรวจสอบ คุณต้องมีคีย์การลงนามและไลบรารีการยืนยัน อย่าเชื่อถือการอ้างสิทธิ์ของ JWT โดยไม่ตรวจสอบลายเซ็นฝั่งเซิร์ฟเวอร์

ตัวอย่าง

ถอดรหัส JWT แบบง่ายๆ

ป้อนข้อมูล: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyMSIsIm5hbWUiOiJBbGljZSIsImlhdCI6MTY5MzUyNjQwMH0.signature

เอาท์พุต: Header: {"alg":"HS256","typ":"JWT"} Payload: {"sub":"user1","name":"Alice","iat":1693526400}

JWT พร้อมเคลมวันหมดอายุ

ป้อนข้อมูล: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTY5MzYxMjgwMH0.sig

เอาท์พุต: Header: {"alg":"HS256"} Payload: {"sub":"admin","exp":1693612800}

ปัญหาทั่วไป

  • การถอดรหัสที่สับสนด้วยการยืนยัน — การถอดรหัส JWT จะอ่านเฉพาะเนื้อหาเท่านั้น มันไม่ได้พิสูจน์ว่าโทเค็นนั้นเป็นของแท้ ตรวจสอบฝั่งเซิร์ฟเวอร์ลายเซ็นด้วยรหัสลงนามเสมอ
  • การเชื่อถือโทเค็นที่หมดอายุ —ตรวจสอบการอ้างสิทธิ์ 'exp' และปฏิเสธโทเค็นที่หมดอายุ ค่า 'exp' คือการประทับเวลา Unix ในหน่วยวินาที
  • Base64 กับ Base64URL —JWT ใช้การเข้ารหัส Base64URL (ไม่มีการเติม - และ _ แทน + และ /) ตัวถอดรหัส Base64 มาตรฐานจะล้มเหลวในส่วน JWT
  • ข้อมูลที่ละเอียดอ่อนในเพย์โหลด —JWT เพย์โหลดสามารถอ่านได้โดยใครก็ตามที่มีโทเค็น อย่าเก็บรหัสผ่าน หมายเลขบัตรเครดิต หรือความลับอื่นๆ ไว้ในเพย์โหลด

เคล็ดลับ

  • ตรวจสอบฝั่งเซิร์ฟเวอร์ลายเซ็น JWT เสมอก่อนที่จะเชื่อถือการอ้างสิทธิ์ใดๆ การถอดรหัสเพียงอย่างเดียวไม่ใช่การตรวจสอบสิทธิ์
  • ตรวจสอบการอ้างสิทธิ์ 'exp' (หมดอายุ) และ 'nbf' (ไม่ใช่ก่อนหน้า) เพื่อให้แน่ใจว่าโทเค็นนั้นถูกต้องสำหรับเวลาปัจจุบัน
  • ใช้โทเค็นที่มีอายุสั้น (15-60 นาที) พร้อมโทเค็นการรีเฟรชสำหรับเซสชันที่ยาวนาน — ลดความเสียหายให้เหลือน้อยที่สุดหากโทเค็นรั่วไหล
  • ใช้ตัวถอดรหัส JWT ของเราเพื่อการดีบักในเครื่องที่ปลอดภัย โทเค็นของคุณจะไม่มีวันออกจากเบราว์เซอร์

เครื่องมือที่เกี่ยวข้อง

คำแนะนำที่เกี่ยวข้อง

อ้างอิง