Penyahkod JWT

Nyahkod pengepala dan muatan JWT serta-merta, terus dalam penyemak imbas anda.

Tampal JWT anda
Sedia. Tampal JWT untuk menyahkodnya.

Token anda dinyahkod dalam penyemak imbas anda. Tiada apa-apa yang dimuat naik ke BroBroGo.

Soalan Lazim

Adakah selamat untuk menampal JWT saya di sini?

Ya. Penyahkodan berlaku sepenuhnya dalam penyemak imbas anda — token anda tidak pernah dihantar ke BroBroGo.

Adakah ini mengesahkan tandatangan?

Tidak. Ia hanya menyahkod pengepala (header) dan muatan (payload) untuk anda baca. Pengesahan tandatangan memerlukan rahsia menandatangani atau kunci awam, yang tidak pernah diminta oleh alat ini.

Bagaimanakah saya tahu jika token saya telah tamat tempoh?

Penyahkod membaca tuntutan 'exp' dan memaparkan lencana status — sah, tamat tempoh, belum sah, atau tiada tarikh tamat — bersebelahan dengan token yang dinyahkod.

Struktur dan Komponen JSON Web Token (JWT)

JSON Web Token (JWT) ialah standard terbuka yang digunakan untuk berkongsi maklumat secara selamat antara dua pihak sebagai objek JSON. Token ini terdiri daripada tiga bahagian utama yang dipisahkan oleh tanda titik (.). Struktur lengkap bagi satu JWT adalah seperti berikut:

pengepala.muatan.tandatangan

Setiap bahagian mempunyai peranan yang khusus dalam memastikan data boleh dipindahkan dan dikenal pasti dengan betul:

  1. Pengepala: Bahagian ini biasanya mengandungi maklumat tentang jenis token dan algoritma penyulitan yang digunakan untuk menandatangani token tersebut.
  2. Muatan: Bahagian ini mengandungi tuntutan (claims). Tuntutan ialah pernyataan tentang entiti (biasanya pengguna) dan data tambahan yang ingin dihantar.
  3. Tandatangan (Signature): Bahagian yang digunakan untuk mengesahkan bahawa penghantar JWT adalah betul dan untuk memastikan kandungan di dalamnya tidak diubah suai semasa dalam perjalanan.

Alat Penyahkod JWT membolehkan anda menampal token ke dalam medan input untuk melihat kandungan pengepala dan muatan yang dinyahkod secara serta-merta.

Fungsi Pengepala dan Tuntutan Lazim

Pengepala JWT mengandungi metadata penting tentang token itu sendiri. Format asal pengepala ini ditulis dalam bentuk JSON sebelum ditukarkan kepada format Base64URL. Dua tuntutan utama yang sering ditemui dalam pengepala adalah:

  • alg: Menentukan algoritma kriptografi yang digunakan untuk menjana tandatangan, seperti HS256 atau RS256.
  • typ: Menentukan jenis token, yang biasanya bernilai JWT.

Apabila anda memasukkan token ke dalam Penyahkod JWT, alat ini akan mengekstrak maklumat ini dan memaparkannya pada bahagian output Algoritma dan Jenis. Jika pengepala tidak menggunakan format JSON yang betul selepas dinyahkod, alat akan memaparkan ralat "Pengepala bukan JSON yang sah.".

Fungsi Muatan dan Tuntutan Masa

Muatan JWT mengandungi data aplikasi atau tuntutan yang ingin disampaikan. Terdapat beberapa tuntutan standard yang sering digunakan untuk mengawal tempoh hayat dan kesahihan token:

  • iat (Issued At): Menunjukkan waktu token tersebut dikeluarkan. Alat ini menterjemah nilai ini ke dalam format masa yang boleh dibaca pada bahagian Dikeluarkan pada.
  • exp (Expiration Time): Menentukan waktu tamat tempoh token. Nilai ini dipaparkan pada bahagian Tamat tempoh.

Alat ini membaca tuntutan masa tersebut untuk menentukan status kesahihan semasa token. Berdasarkan tuntutan exp, lencana status akan menunjukkan salah satu daripada keadaan berikut:

  • Sah
  • Tamat tempoh
  • Belum sah
  • Tiada tarikh tamat (jika token tidak mempunyai tuntutan exp)

Pengekodan Base64URL dalam JWT

Bahagian pengepala dan muatan JWT tidak disulitkan secara rahsia; ia hanya dikodkan menggunakan format Base64URL. Base64URL ialah variasi daripada pengekodan Base64 standard yang selamat untuk digunakan dalam URL kerana ia menggantikan aksara seperti + dan / dengan - dan _, serta membuang aksara padding =.

Oleh kerana ia hanya dikodkan dan bukannya disulitkan, sesiapa sahaja yang mempunyai akses kepada rentetan token boleh menyahkod kandungan tersebut dengan mudah. Jika proses penyahkodan gagal disebabkan oleh format pengekodan yang rosak, alat ini akan mengeluarkan mesej ralat khusus:

  • "Tidak dapat menyahkod pengepala — Base64URL tidak sah."
  • "Tidak dapat menyahkod muatan — Base64URL tidak sah."

Perbezaan Antara Menyahkod dan Mengesahkan JWT

Terdapat perbezaan keselamatan yang sangat besar antara menyahkod (decoding) dan mengesahkan (verifying) sesuatu JWT:

  • Menyahkod: Proses menterjemah semula rentetan Base64URL kepada teks JSON asal yang boleh dibaca manusia. Proses ini tidak memerlukan sebarang kunci keselamatan atau kata laluan. Alat Penyahkod JWT ini hanya melakukan proses penyahkodan sahaja.
  • Mengesahkan: Proses memeriksa sama ada tandatangan token adalah sah dengan menggunakan kunci rahsia (untuk algoritma simetri seperti HMAC) atau kunci awam (untuk algoritma asimetri seperti RSA). Pengesahan memastikan kandungan token tidak diubah suai oleh pihak ketiga selepas ia dikeluarkan.

Alat ini tidak mengesahkan tandatangan JWT dan tidak meminta kunci rahsia atau kunci awam anda. Oleh itu, status kesahihan yang dipaparkan hanya merujuk kepada semakan masa tamat tempoh (exp) sahaja.

Peraturan Input dan Pengendalian Ralat

Untuk memastikan alat berfungsi dengan betul, input yang dimasukkan mestilah mematuhi format standard JWT. Berikut adalah peraturan input dan ralat yang berkaitan:

Keadaan Input Tindakan / Mesej Ralat Alat
Input kosong Alat kekal dalam keadaan "Sedia. Tampal JWT untuk menyahkodnya."
Input tidak mempunyai tiga bahagian "Bukan JWT yang sah — dijangka tiga bahagian yang dipisahkan oleh titik."
Input terlalu panjang "Itu terlalu panjang untuk menjadi JWT yang sebenar."
Pengepala bukan JSON sah "Pengepala bukan JSON yang sah."
Muatan bukan JSON sah "Muatan bukan JSON yang sah."

Apabila input yang tidak sah dimasukkan, bahagian paparan hasil dinyahkod akan disembunyikan secara automatik. Apabila butang Kosongkan ditekan, semua data input dan output akan dipadamkan, dan fokus input akan dikembalikan ke medan teks utama. Alat ini juga memaparkan jumlah aksara input melalui penunjuk Aksara.

Privasi dan Pemprosesan Data

Keselamatan data anda adalah keutamaan kami. Proses penyahkodan token dilakukan sepenuhnya di dalam penyemak imbas web peranti anda sendiri. Tiada sebarang data, token, atau maklumat peribadi yang dihantar atau dimuat naik ke pelayan BroBroGo. Semua operasi dijalankan secara lokal pada peranti anda.


Soalan Lazim (FAQ)

Adakah selamat untuk menampal JWT saya di sini?
Ya. Penyahkodan berlaku sepenuhnya dalam penyemak imbas anda — token anda tidak pernah dihantar ke BroBroGo.

Adakah ini mengesahkan tandatangan?
Tidak. Ia hanya menyahkod pengepala (header) dan muatan (payload) untuk anda baca. Pengesahan tandatangan memerlukan rahsia menandatangani atau kunci awam, yang tidak pernah diminta oleh alat ini.

Bagaimanakah saya tahu jika token saya telah tamat tempoh?
Penyahkod membaca tuntutan 'exp' dan memaparkan lencana status — sah, tamat tempoh, belum sah, atau tiada tarikh tamat — bersebelahan dengan token yang dinyahkod.

Mengapakah saya mendapat ralat "Bukan JWT yang sah — dijangka tiga bahagian yang dipisahkan oleh titik."?
Ralat ini berlaku apabila input yang anda masukkan tidak mempunyai format JWT yang betul. Pastikan token yang ditampal mengandungi pengepala, muatan, dan tandatangan yang dipisahkan oleh dua tanda titik.