QuickATools

เครื่องมือนักพัฒนา · Free browser tool

ตัวถอดรหัส JWT

ถอดรหัส JSON Web Token (JWT) ได้ทันทีฝั่งไคลเอนต์ ดูส่วนหัว เพย์โหลด และข้อมูลลายเซ็นอย่างปลอดภัยพร้อมตัวแปลงเวลาอ่านง่ายในตัว

Encoded JWT

Paste a token — optional Bearer prefix is stripped.

DecodedSignature not verified

Timestamp humanizer

  • exp1893456000

    2030-01-01 00:00:00 · in 1236 days

    Active
  • iat1723000000

    2024-08-07 03:06:40 · 736 days ago

Header

JSON
{
  "alg": "HS256",
  "typ": "JWT"
}

Payload

JSON
{
  "sub": "1234567890",
  "name": "홍길동",
  "email": "user@example.com",
  "iat": 1723000000,
  "exp": 1893456000
}

Signature

Raw
signature-placeholder

Decoding does not prove authenticity. Verify signatures in your backend with the issuer's secret or public key.

Frequently Asked Questions

JWT มีสามส่วนอะไรบ้าง และแต่ละส่วนทำอะไร?

JWT คือส่วนที่เข้ารหัส Base64URL สามส่วนคั่นด้วยจุด: Header.Payload.Signature ส่วน Header อธิบายประเภทโทเคนและอัลกอริทึมการลงนาม (เช่น HS256, RS256) ส่วน Payload ถือ claims — รหัสผู้ใช้ บทบาท วันหมดอายุ (exp) เวลาออก (iat) และฟิลด์กำหนดเองใดๆ ที่ API ของคุณใส่ ส่วน Signature เป็นตราประทับเชิงคริปโตเหนือสองส่วนแรก ตัวถอดรหัสนี้แสดงสตริงลายเซ็นดิบให้คุณเห็นแต่ไม่ตรวจสอบ เพราะการตรวจสอบต้องใช้ความลับหรือกุญแจสาธารณะ

ความต่างระหว่างการถอดรหัส JWT กับการตรวจสอบคืออะไร?

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

ควรอ่าน Unix timestamp อย่าง exp, iat และ nbf ใน JWT อย่างไร?

claims เหล่านั้นถูกเก็บเป็นเวลา Unix เป็นวินาทีนับจาก 1970-01-01 UTC เครื่องมือนี้ตรวจคีย์เวลาที่พบบ่อย (exp, iat, nbf, auth_time) และแสดงวันที่/เวลาท้องถิ่นที่เทียบเท่าข้างแต่ละค่า สำหรับ exp โดยเฉพาะ ยังติดแบดจ์ว่า Expired หรือ Active ตามนาฬิกาปัจจุบันของเบราว์เซอร์ — มีประโยชน์สำหรับจับ clock-skew หรือโทเคน staging ที่ค้างในพริบตา

ทำไมต้องถอดรหัส JWT ในเครื่องแทนการวางในดีบักเกอร์ออนไลน์?

JWT โปรดักชันและ staging มักมีรหัสผู้ใช้ ที่อยู่อีเมล บทบาท หรือ PII อื่นในเพย์โหลด — และบางครั้งคนวางโทเคนที่ปรากฏในส่วนหัว Authorization คู่กับความลับ ดีบักเกอร์ฝั่งเซิร์ฟเวอร์รับสตริงทั้งหมดนั้น เครื่องมือนี้ไม่เคยอัปโหลดอะไร: การถอด Base64URL การแยกวิเคราะห์ JSON และการจัดรูปแบบเวลาทั้งหมดทำงานในเบราว์เซอร์ จึงเก็บโทเคนละเอียดอ่อนไว้บนเครื่องของคุณ

สำรวจยูทิลิตี้ฟรีบนเบราว์เซอร์อื่นๆ สำหรับผู้ขาย ครีเอเตอร์ และมืออาชีพ

JWT ถูกเข้ารหัส ไม่ใช่เข้ารหัสลับ — ถอดรหัสในเครื่อง

JSON Web Token ดูทึบ แต่ส่วนหัวและเพย์โหลดเป็นเพียง JSON ที่เข้ารหัส Base64URL ใครที่ถือสตริงสามารถอ่าน claims ได้โดยไม่ต้องมีกุญแจลับ นั่นเป็นการออกแบบ — ลายเซ็นพิสูจน์ความสมบูรณ์ ไม่ใช่ความลับ — และยังเป็นเหตุผลที่การวางโทเคนโปรดักชันในดีบักเกอร์ออนไลน์สุ่มมีความเสี่ยง รหัสผู้ใช้ อีเมล บทบาท และ PII อื่นมักอยู่ในที่แจ้งชัดภายในเพย์โหลด

ตัวถอดรหัสนี้ไม่เคยส่งโทเคนของคุณไปที่ใด การแยกส่วน การถอด Base64URL (พร้อมรองรับ UTF-8 เต็มสำหรับ claims ที่ไม่ใช่ละติน) การ pretty-print JSON และการทำให้เวลาอ่านง่ายทั้งหมดทำงานในเบราว์เซอร์ ใช้เพื่อตรวจ JWT staging หรือโปรดักชันขณะดีบักโฟลว์ auth โดยไม่รั่วโทเคนเหล่านั้น — หรือความลับใดๆ ที่อยู่ข้างในส่วนหัว Authorization — ไปยังเซิร์ฟเวอร์บุคคลที่สาม

จำขีดจำกัดแข็งของเครื่องมือนี้: มันถอดรหัส ไม่ได้ตรวจสอบ เพย์โหลดที่ดูถูกต้องยังปลอมได้หากคุณข้ามการตรวจลายเซ็น ตรวจสอบ JWT ในแบ็กเอนด์ของคุณเสมอด้วยความลับหรือกุญแจสาธารณะของผู้ออก ที่นี่ ตัวแปลงเวลาอ่านง่ายของ exp, iat และ nbf เพียงช่วยให้อ่านสถานะหมดอายุในพริบตาขณะดีบัก

ยูทิลิตี้นักพัฒนาที่เกี่ยวข้องบนไซต์นี้: จัด JSON ของ claim ที่ซ้อนด้วยตัวจัดรูปแบบและตรวจ JSON ตรวจเพย์โหลด Base64 อื่นด้วยเข้ารหัส/ถอดรหัส Base64 สร้าง ID ฟิกซ์เจอร์ด้วยตัวสร้าง UUID/GUID หรือตรวจแพทเทิร์นแยกวิเคราะห์ claim ในตัวทดสอบ Regex