LogoSTACKBAY

JWT Debugger

ถอดรหัส JWT เพื่อตรวจสอบส่วนหัว/ข้อมูลหรือเข้ารหัสเพื่อสร้าง JWT ใหม่

JWT คืออะไร?

JWT (JSON Web Token) เป็นมาตรฐานเปิด (RFC 7519) ที่ใช้ในการส่งข้อมูลอย่างปลอดภัยระหว่างสองระบบ ใช้เป็นหลักสำหรับการยืนยันตัวตนและการอนุญาต ประกอบด้วยสามส่วน: ส่วนหัว ข้อมูล และลายเซ็น JWT มีข้อมูลในตัว จึงสามารถรักษาสถานะการยืนยันตัวตนได้โดยไม่ต้องใช้ที่เก็บเซสชันแยกต่างหาก อย่างไรก็ตาม ข้อมูลที่ละเอียดอ่อนต้องถูกเข้ารหัสหรือลงนามเพื่อการจัดการที่ปลอดภัย

โครงสร้าง JWT

JWT ประกอบด้วยสามส่วน: ส่วนหัว ข้อมูล และลายเซ็น ส่วนหัวมีประเภทโทเค็นและอัลกอริทึมการลงนาม ข้อมูลมีข้อมูลจริง (claims) และลายเซ็นใช้เพื่อตรวจสอบความสมบูรณ์ของโทเค็น สามส่วนนี้แต่ละส่วนถูกเข้ารหัส Base64URL และคั่นด้วยจุด

ส่วนหัว
ข้อมูล
ลายเซ็น

วิธีใช้ JWT Debugger

  1. 1แท็บถอดรหัส: วาง JWT ที่มีอยู่และกรอกคีย์ลับเพื่อตรวจสอบลายเซ็น
  2. 2แท็บเข้ารหัส: แก้ไขส่วนหัวและข้อมูล จากนั้นกรอกคีย์ลับเพื่อสร้าง JWT ใหม่
  3. 3การเลือกอัลกอริทึม: เลือกอัลกอริทึมการลงนามที่ต้องการจากดรอปดาวน์ด้านบน
  4. 4ซิงค์แบบเรียลไทม์: ข้อมูลที่คุณป้อนจะถูกเข้ารหัส/ถอดรหัสและแสดงผลแบบเรียลไทม์

อัลกอริทึมที่รองรับ

JWT รองรับอัลกอริทึมการเข้ารหัสต่างๆ แต่ละอัลกอริทึมมีระดับความปลอดภัยและลักษณะประสิทธิภาพที่แตกต่างกัน จึงควรเลือกตามความต้องการ

อัลกอริทึมคีย์สมมาตร (HMAC)

  • - HS256, HS384, HS512: HMAC + SHA-256/384/512 (คีย์สมมาตร)

อัลกอริทึมคีย์อสมมาตร (RSA, ECDSA)

  • - RS256, RS384, RS512: RSASSA-PKCS1-v1_5 + SHA-256/384/512 (คีย์อสมมาตร, RSA)
  • - PS256, PS384, PS512: RSASSA-PSS + SHA-256/384/512 (คีย์อสมมาตร, RSA-PSS)
  • - ES256, ES384, ES512: ECDSA + P-256/384/521 + SHA-256/384/512 (คีย์อสมมาตร, เส้นโค้งวงรี)

คุณสมบัติหลัก

  • ถอดรหัสและเข้ารหัสโทเค็น JWT แบบเรียลไทม์
  • รองรับอัลกอริทึมการลงนามต่างๆ (HS256, RS256, ES256 ฯลฯ)
  • การตรวจสอบและสร้างลายเซ็น
  • รองรับการเข้ารหัส/ถอดรหัส Base64URL
  • สลับมุมมอง JSON และตาราง

กรณีการใช้งาน

JWT Debugger มีประโยชน์ในสถานการณ์ต่อไปนี้:

  • การตรวจสอบโทเค็น JWT ระหว่างการพัฒนาและดีบัก API
  • การสร้างและทดสอบโทเค็นเมื่อใช้งานระบบยืนยันตัวตน
  • การวิเคราะห์ข้อมูล JWT สำหรับการตรวจสอบความปลอดภัย
  • การเรียนรู้โครงสร้าง JWT เพื่อวัตถุประสงค์ทางการศึกษา

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

JWT คืออะไรและทำไมจึงใช้?

JWT (JSON Web Token) เป็นมาตรฐานเปิดสำหรับส่งข้อมูลอย่างปลอดภัยระหว่างฝ่ายต่างๆ ใช้กันทั่วไปสำหรับการยืนยันตัวตนและการอนุญาตในเว็บแอปพลิเคชันเนื่องจากเป็นแบบไม่มีสถานะและมีข้อมูลที่จำเป็นทั้งหมดภายในโทเค็น

ความแตกต่างระหว่างอัลกอริทึมสมมาตรและอสมมาตรคืออะไร?

อัลกอริทึมสมมาตร (HS256, HS384, HS512) ใช้คีย์ลับเดียวกันสำหรับทั้งการลงนามและการตรวจสอบ อัลกอริทึมอสมมาตร (RS256, ES256 ฯลฯ) ใช้คีย์ส่วนตัวสำหรับการลงนามและคีย์สาธารณะสำหรับการตรวจสอบ ให้ความปลอดภัยที่ดีกว่าสำหรับระบบแบบกระจาย

ปลอดภัยหรือไม่ที่จะถอดรหัส JWT ที่มีข้อมูลละเอียดอ่อนที่นี่?

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

จะตรวจสอบว่าลายเซ็น JWT ถูกต้องได้อย่างไร?

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

สามารถใช้เครื่องมือนี้เพื่อสร้าง JWT สำหรับโปรดักชันได้หรือไม่?

แม้ว่าเครื่องมือนี้สามารถสร้าง JWT ที่ถูกต้อง แต่แนะนำให้ใช้แบ็กเอนด์ของแอปพลิเคชันสำหรับการสร้างโทเค็นโปรดักชันเพื่อรับรองว่าคีย์ลับยังคงปลอดภัย