ดีโค้ดเดอร์และดีบักเกอร์ JWT

ถอดรหัส ตรวจสอบ และวิเคราะห์ JSON Web Tokens (Header, Payload, Signature) โดยไม่เปิดเผยข้อมูลลับ

ดีโค้ดเดอร์และดีบักเกอร์ JWT

ถอดรหัส ตรวจสอบ และวิเคราะห์ JSON Web Tokens (Header, Payload, Signature) โดยไม่เปิดเผยข้อมูลลับ

วิธีการทำงาน

1
Enter or Paste Text
Type or paste your text, code, or data directly into the input workspace.
2
Apply Transformation
Run the tool to convert, filter, format, or inspect your text content.
3
Copy Output
Copy the clean processed output to your clipboard with a single click.
ศูนย์ความรู้และแนวคิด

เครื่องมือถอดรหัสและตรวจสอบ JWT ตรวจสอบ Header, Payload และลายเซ็น HMAC-SHA256

JSON Web Token (JWT) เป็นมาตรฐานเปิด (RFC 7519) ที่ใช้สำหรับส่งต่อข้อมูลระบุตัวตนและสิทธิ์การใช้งานระหว่างไคลเอนต์และเซิร์ฟเวอร์ในรูปแบบกะทัดรัดและปลอดภัย เครื่องมือนี้ช่วยถอดรหัสโครงสร้างทั้ง 3 ส่วนของ JWT (Header, Payload, Signature) ออกมาเป็น JSON ให้อ่านและตรวจสอบได้อย่างละเอียด

ผู้พัฒนาสามารถตรวจสอบเวลาหมดอายุของโทเคน (exp), เวลาที่สร้าง (iat) และตรวจสอบความถูกต้องของลายเซ็นดิจิทัลผ่านอัลกอริทึม HMAC-SHA256 (HS256) ได้โดยตรงในเบราว์เซอร์ ข้อมูลโทเคนและรหัสลับ Secret Key จะไม่ถูกส่งออกนอกเครื่อง จึงปลอดภัยสำหรับการดีบักโทเคนในขั้นตอนการพัฒนา

สูตรและหลักการทางเทคนิค

JWT = Base64URL(Header) . Base64URL(Payload) . HMAC-SHA256(Header.Payload, Secret)

ถอดรหัสส่วนประกอบ Base64URL แปลงเป็นอ็อบเจกต์ JSON และคำนวณการตรวจสอบความถูกต้องของลายเซ็นดิจิทัลด้วย Web Crypto API

ข้อแนะนำและวิธีปฏิบัติที่ถูกต้อง

  • อย่าเก็บข้อมูลที่เป็นความลับสูงไว้ใน Payload: ข้อมูลใน JWT Payload เป็นเพียงการเข้ารหัส Base64URL ซึ่งทุกคนสามารถถอดรหัสอ่านได้ ไม่ใช่การเข้ารหัสลับ จึงไม่ควรใส่รหัสผ่านหรือข้อมูลส่วนบุคคลที่ละเอียดอ่อน
  • ตรวจสอบ Claim สำคัญอย่างเคร่งครัด: ตรวจสอบค่า exp (เวลาหมดอายุ), nbf (ไม่ให้ใช้ก่อนเวลา), และ iss (ผู้ออกโทเคน) เสมอในการทำงานฝั่งเซิร์ฟเวอร์
  • ใช้ Secret Key ที่มีความยาวและเอนโทรปีสูงสำหรับ HS256: ควรใช้คีย์ลับที่มีความยาวอย่างน้อย 256 บิต (32 ไบต์) เพื่อป้องกันการโจมตีแบบ Brute-force ออฟไลน์
  • ระวังการโจมตีสลับอัลกอริทึม (Algorithm Confusion): ระบบฝั่งเซิร์ฟเวอร์ต้องล็อกอัลกอริทึมที่อนุญาตไว้อย่างชัดเจน และปฏิเสธโทเคนที่ระบุ alg เป็น 'none'

คำถามที่พบบ่อย (FAQ)

การถอดรหัส JWT บนเครื่องมือนี้ปลอดภัยต่อข้อมูลความลับของระบบหรือไม่?
ปลอดภัยอย่างสมบูรณ์ เพราะการถอดรหัสและการคำนวณลายเซ็น HMAC ดำเนินการผ่าน JavaScript และ Web Crypto API ภายในเบราว์เซอร์ของคุณ ไม่มีการส่งโทเคนหรือคีย์ลับไปยังเซิร์ฟเวอร์ภายนอก
เหตุใดลายเซ็นจึงขึ้นว่าไม่ถูกต้อง (Invalid Signature) แม้โทเคนจะอ่านได้?
เพราะการอ่าน Header และ Payload ทำได้ด้วยการถอดรหัส Base64URL แต่การตรวจสอบลายเซ็นต้องใช้ Secret Key เดียวกับที่เซิร์ฟเวอร์ใช้สร้าง หากไม่ระบุ Secret หรือใส่ไม่ตรงกัน ลายเซ็นจะไม่ผ่านการตรวจสอบ
Claim มาตรฐานที่สำคัญใน JWT มีอะไรบ้าง?
ได้แก่ sub (ระบุผู้ใช้), exp (เวลาหมดอายุ), iat (เวลาที่สร้าง), iss (ผู้ออกโทเคน), aud (กลุ่มเป้าหมายผู้รับ) และ nbf (ไม่ให้ใช้งานก่อนเวลานี้)
สามารถใช้ JWT ในการออกจากระบบ (Logout) แบบทันทีได้หรือไม่?
เนื่องจาก JWT เป็นแบบไร้สถานะ (Stateless) การยกเลิกสิทธิ์ก่อนเวลา exp ทำได้โดยการใช้ Token Blacklist ในฐานข้อมูลความเร็วสูง (เช่น Redis) หรือรอให้โทเคนหมดอายุตามกำหนด