Pembangun

Penyahkod JWT

Tampal mana-mana JWT untuk terus menyahkod header dan payloadnya — semak claim, masa tamat tempoh, dan tandatangan tanpa meninggalkan pelayar anda atau menghantar data ke mana-mana.

Adakah kalkulator ini membantu anda?

Apakah Penyahkod JWT?

JWT (JSON Web Token) ialah cara standard yang digunakan oleh API web moden untuk mewakili claim pengesahan dan kebenaran. Ia adalah token ringkas dan berdikari yang terdiri daripada tiga bahagian — header yang menerangkan algoritma penandatanganan, payload yang membawa claim sebenar (seperti ID pengguna, peranan, dan tamat tempoh), dan tandatangan yang membolehkan pelayan penerima mengesahkan token tidak diubah. Penyahkod ini membaca header dan payload serta-merta supaya anda boleh menyahpepijat isu pengesahan, menyemak claim sebenar yang dihantar oleh sesuatu API, atau menyemak bila token akan tamat tempoh — semuanya tanpa memerlukan backend, alat CLI, atau menampal token sensitif ke dalam pelayan pihak ketiga, kerana semuanya berjalan secara tempatan dalam pelayar anda.

Bila Menggunakan Kalkulator Ini

  • Menyahpepijat sebab API menolak token dengan menyemak claim dan masa tamat tempohnya
  • Menyemak masa tamat tempoh token semasa siasatan sokongan atau respons insiden
  • Mengesahkan bahawa pembekal SSO atau OAuth mengeluarkan klaim yang dijangka oleh aplikasi anda.
  • Mempelajari struktur JWT untuk persediaan temu duga atau kursus keselamatan
  • Menyemak token yang ditangkap daripada alat pembangun pelayar atau log pelayar untuk memahami kandungannya
  • Membandingkan algoritma pengepala antara token untuk menyahpepijat kegagalan pengesahan ketidakpadanan algoritma

Langkah:

  1. Tampal JWT anda ke dalam kotak input, atau klik "Muat Contoh" untuk mencuba satu.
  2. Header dan payload dinyahkod secara automatik semasa anda menaip.
  3. Semak claim seperti iss, sub, exp, dan iat dalam bentuk yang mudah dibaca.
  4. Claim cap masa (exp, iat, nbf) secara automatik ditukar kepada tarikh yang mudah dibaca.

Rumus

JWT = base64Url(header) + "." + base64Url(payload) + "." + base64Url(signature) Menyahkod: pisahkan pada ".", nyahkod base64Url dua bahagian pertama, huraikan sebagai JSON. Mengesahkan (tidak dilakukan di sini): HMACSHA256(base64Url(header) + "." + base64Url(payload), secret) === signature

Kes Penggunaan

  • Menyahpepijat sebab API menolak token dengan menyemak claim-nya
  • Menyemak masa tamat tempoh token semasa siasatan sokongan
  • Mengesahkan pembekal SSO atau OAuth mengeluarkan claim yang dijangka
  • Mempelajari struktur JWT untuk persediaan temu duga atau kerja kursus
  • Menyemak dengan pantas token yang ditampal daripada alat pembangun pelayar atau log pelayan

Faedah Utama

  • Nyahkod mana-mana JWT dengan segera tanpa backend atau alat CLI
  • Semuanya berjalan di sisi klien — token tidak pernah dihantar ke pelayan
  • Secara automatik menukar claim cap masa kepada tarikh yang mudah dibaca
  • Percuma, tiada pendaftaran, berfungsi pada mana-mana JWT tanpa mengira algoritma

Tips Pro

  • Sentiasa semak 'exp' dahulu semasa menyahpepijat ralat "unauthorized" — token yang tamat tempoh adalah punca paling biasa
  • Bandingkan 'alg' dalam header dengan apa yang dijangka oleh backend anda untuk mengesan pepijat ketidakpadanan algoritma
  • Jangan sekali-kali percaya payload yang dinyahkod sebagai bukti identiti tanpa mengesahkan tandatangan di sisi pelayan
  • Gunakan token berjangka hayat pendek dengan refresh token dan bukannya JWT berjangka hayat panjang untuk mengehadkan pendedahan jika satu bocor

Kesilapan Biasa

  • Menganggap JWT yang dinyahkod adalah JWT yang disahkan — menyahkod hanya membaca kandungan, ia tidak mengesahkan ketulenan
  • Menyimpan data sensitif (kata laluan, rahsia) dalam payload, terlupa ia boleh dibaca oleh sesiapa sahaja
  • Menampal token produksi ke dalam penyahkod dalam talian yang tidak dipercayai
  • Mengelirukan 'exp' (tamat tempoh) dengan 'iat' (dikeluarkan pada) semasa menyahpepijat isu jangka hayat token

Istilah Utama

Claim: Sekeping maklumat yang dinyatakan tentang subjek, seperti ID pengguna atau peranan
Header: Segmen pertama JWT, menentukan algoritma penandatanganan dan jenis token
Payload: Segmen kedua JWT, mengandungi claim sebenar
Tandatangan: Segmen ketiga JWT, digunakan untuk mengesahkan token tidak diubah

Konsep Berkaitan

Contoh

Token yang bermula dengan eyJhbGciOiJIUzI1NiJ9 dinyahkod kepada header {"alg":"HS256","typ":"JWT"} — memberitahu anda bahawa token ditandatangani dengan HMAC-SHA256.

Mentafsir Hasil

Penyahkod membahagikan JWT pada dua pemisah titik dan menyahkod dua segmen pertama dalam Base64URL. Tajuk memberitahu anda algoritma penandatanganan (seperti HS256 atau RS256) dan jenis token. Muatan mengandungi tuntutan sebenar — identiti pengguna, kebenaran dan cap masa. Tuntutan cap masa (exp, iat, nbf) ditukar secara automatik daripada era Unix kepada tarikh yang boleh dibaca. Jika 'exp' menunjukkan tarikh lepas, token telah tamat tempoh dan kebanyakan pelayan akan menolaknya. Tuntutan 'sub' (subjek) biasanya mengandungi ID pengguna, dan 'iss' (penerbit) mengenal pasti pelayan yang mencipta token. Ingat bahawa penyahkodan bukan pengesahan. Bahagian tandatangan dipaparkan tetapi tidak boleh disahkan tanpa kunci rahsia atau awam. Muatan yang dinyahkod hanyalah maklumat — jangan sekali-kali mempercayainya sebagai bukti identiti tanpa pengesahan tandatangan di sisi pelayan.

Soalan Lazim

Apakah itu JWT?
JSON Web Token (JWT) ialah cara ringkas dan selamat-URL untuk mewakili claim antara dua pihak. Ia terdiri daripada tiga bahagian yang dikodkan Base64URL, dipisahkan oleh titik: header, payload, dan tandatangan.
Adakah selamat untuk menampal JWT saya ke dalam alat ini?
Penyahkodan berlaku sepenuhnya dalam pelayar anda menggunakan JavaScript — token tidak pernah dihantar ke mana-mana pelayan. Walaupun begitu, layan JWT seperti kata laluan: elakkan menampal token daripada sistem produksi ke dalam mana-mana alat dalam talian, termasuk yang ini.
Mengapa alat ini tidak boleh mengesahkan tandatangan?
Mengesahkan tandatangan JWT memerlukan kunci rahsia (untuk algoritma HMAC) atau kunci awam (untuk algoritma RSA/ECDSA) yang sepatutnya hanya dimiliki oleh pelayan pengeluar. Alat ini hanya menyahkod header dan payload yang boleh dibaca — ia tidak pernah mempunyai akses kepada kunci tersebut.
Apakah maksud claim 'exp'?
'exp' (Expiration Time) ialah cap masa Unix yang menunjukkan bila token berhenti sah. Alat ini secara automatik menukarnya kepada tarikh yang mudah dibaca supaya anda boleh menyemak dengan pantas sama ada token telah tamat tempoh.
Apakah itu JWT?
JSON Web Token (JWT) ialah cara yang padat dan selamat bagi URL untuk mewakili tuntutan antara dua pihak. Ia terdiri daripada tiga bahagian yang dikodkan Base64URL dan dipisahkan oleh titik: pengepala, muatan, dan tandatangan.
Adakah selamat untuk menampal JWT saya ke dalam alat ini?
Algoritma yang biasa termasuk HS256 (HMAC-SHA256, simetri), RS256 (RSA-SHA256, asimetri), dan ES256 (ECDSA). Medan 'alg' dalam pengepala menentukan algoritma tersebut. Yang paling biasa untuk API web ialah HS256 atau RS256.
Mengapa alat ini tidak boleh mengesahkan tandatangan?
'iat' (Masa Dikeluarkan) ialah masa token dicipta. 'nbf' (Tidak Sebelum) ialah masa token menjadi sah. Jika 'nbf' berada pada masa hadapan, token patut ditolak walaupun belum luput.
Apakah maksud claim 'exp'?
Pengepala dan muatan hanya dikodkan Base64URL, bukan disulitkan. Sesiapa sahaja boleh membacanya. Jangan sekali-kali simpan kata laluan, rahsia, atau data peribadi sensitif dalam muatan JWT. Hanya letakkan klaim tidak sensitif seperti ID pengguna, peranan, dan cap masa.
Algoritma apakah yang boleh digunakan oleh JWT?
Token akses biasanya bertahan 15–60 minit. Token muat semula bertahan dari beberapa jam hingga beberapa hari. Token akses berumur pendek dengan token muat semula berumur panjang mengimbangi keselamatan dengan pengalaman pengguna.
Bagaimana saya menyalin klaim yang dinyahkod?
Token muat semula ialah token berumur panjang yang digunakan untuk mendapatkan token akses baharu tanpa memerlukan pengguna untuk mengesahkan semula. Apabila token akses berumur pendek luput, klien menghantar token muat semula untuk mendapatkan token akses baharu.
Bagaimana saya menyalin klaim yang dinyahkod?
Pengepala dan muatan yang dinyahkod dipaparkan sebagai JSON berformat. Anda boleh menyalin keseluruhan output yang dinyahkod atau nilai klaim individu untuk tujuan nyahpepijat atau dokumentasi.

Terokai Lebih Banyak Alat

Pilihan segar dari seluruh perpustakaan alat kami.