Penukar Percuma

Token JWT Penyahkod

Nyahkod pengepala JWT (Token Web JSON) dan muat naik serta-merta dalam penyemak imbas anda. Percuma, peribadi dan sisi klien — tiada data dihantar ke mana-mana pelayan.

Tentang alat ini

Token Web JSON (JWT) ialah format padat, selamat URL untuk menghantar tuntutan antara dua pihak, yang ditakrifkan oleh RFC 7519. JWT ialah tiga segmen berkod base64url yang dipisahkan dengan titik: pengepala (algoritma dan jenis token), muatan (tuntutan) dan tandatangan (bukti ketulenan kriptografi). Pengepala dan muatan adalah JSON, dikodkan base64url untuk keselamatan URL; tandatangan menggunakan salah satu daripada beberapa algoritma (HS256, RS256, ES256 dan lain-lain) di atas pengepala dan muatan yang dikodkan.

Menyahkod JWT — membahagikannya kepada segmen dan menyahkod base64 setiap satu — tidak memerlukan sebarang rahsia. Sesiapa sahaja yang mempunyai teks token boleh membaca pengepala dan muatannya. Walau bagaimanapun, tandatangan hanya boleh disahkan dengan rahsia (HMAC) atau kunci awam (asimetri). Penyahkodan adalah untuk pemeriksaan; pengesahan adalah apa yang membuktikan keaslian.

Penyahkod ini membahagikan token, base64-menyahkod setiap segmen, menghuraikan pengepala dan muatan sebagai JSON dan menunjukkan hasilnya. Ia tidak mencuba pengesahan tandatangan kerana itu memerlukan rahsia atau kunci awam, yang tidak dimiliki oleh penyahkod. Output yang dinyahkod ialah pemeriksaan baca sahaja — berguna untuk menyahpepijat token tetapi bukan pengganti untuk pengesahan yang betul dalam kod aplikasi.

Mengapa Menyahkod JWT

Isu pengesahan penyahpepijatan hampir selalu melibatkan pemeriksaan token. Token yang kelihatan sah dalam kod mungkin mempunyai tuntutan yang salah, algoritma yang tidak dijangka, cap masa tamat tempoh atau ketidakpadanan khalayak. Menyahkod token mendedahkan dengan tepat apa yang dikeluarkan oleh pengeluar.

Memeriksa token semasa kerja penyepaduan juga membantu. Apabila menyambung kepada API pihak ketiga atau pembekal identiti, nama tuntutan sebenar, format dan struktur paling baik difahami dengan menyahkod token sampel dan bukannya bergantung pada dokumentasi yang mungkin sudah lapuk.

Cara menggunakan

Tampalkan token, dapatkan kandungan yang dihuraikan.

  1. Tampalkan JWT anda: Letakkan token penuh (header.payload.signature) ke dalam kawasan input. Penyahkod menerima token dengan atau tanpa awalan Pembawa pilihan.
  2. Periksa pengepala: Pengepala menunjukkan algoritma tandatangan (alg) dan jenis token (taip). Algoritma biasa ialah HS256, RS256, dan ES256. Perhatikan alg: tiada, yang menandakan token tidak ditandatangani dan jarang selamat dalam pengeluaran.
  3. Periksa muatan: Muatan mengandungi tuntutan: iss (pengeluar), sub (subjek), audiens (khalayak), exp (tamat tempoh), iat (dikeluarkan pada) dan sebarang tuntutan khusus aplikasi. Cap masa standard ialah saat zaman Unix.
  4. Sahkan secara berasingan: Penyahkod tidak mengesahkan tandatangan. Untuk menyemak kesahihan, jalankan token melalui perpustakaan JWT dengan rahsia atau kunci awam yang sesuai dalam kod aplikasi anda.

Kes Penggunaan Biasa

Butiran Teknikal

Format JWT ialah tiga segmen yang digabungkan dengan titik. Setiap segmen dikodkan base64url — varian selamat URL bagi base64 yang menggunakan - dan _ bukannya + dan /, dengan padding kadangkala ditinggalkan. Penyahkodan memerlukan membuat asal penggantian selamat URL, mengalas segmen dan penyahkodan base64.

Pengepala dan muatan ialah JSON selepas penyahkodan. Segmen tandatangan ialah binari (bait tandatangan mentah) dan tidak boleh dibaca oleh manusia; ia memerlukan kunci pengesahan untuk berguna.

Tuntutan biasa yang ditakrifkan dalam RFC 7519: iss (pengeluar), sub (pengecam subjek), aud (khalayak), exp (tamat tempoh sebagai detik zaman Unix), nbf (bukan sebelum cap waktu), iat (dikeluarkan pada cap masa), jti (ID token unik). Tuntutan khusus aplikasi boleh muncul dengan sebarang nama.

Amalan Terbaik

Soalan lazim

Adakah selamat untuk menampal JWT saya di sini?
ya. Penyahkodan berlaku sepenuhnya dalam penyemak imbas anda — token tidak pernah dihantar ke mana-mana pelayan. Walau bagaimanapun, JWT ialah bukti kelayakan — jangan kongsikannya secara terbuka (dalam tangkapan skrin, siaran Stack Overflow, dsb.) kerana ia boleh memberikan akses kepada akaun anda.
Adakah alat ini mengesahkan tandatangan JWT?
Alat ini menyahkod dan memaparkan kandungan token. Pengesahan tandatangan memerlukan kunci rahsia (HMAC) atau kunci awam (RSA/ECDSA), yang harus kekal pada pelayan anda. Alat ini menunjukkan algoritma yang digunakan tetapi tidak boleh mengesahkan tanpa kunci.
Apakah maksud tuntutan JWT standard?
iss = pengeluar, sub = subjek (ID pengguna), exp = masa tamat (cap masa Unix), iat = dikeluarkan pada, nbf = tidak sebelum ini, aud = penonton, jti = ID JWT. Tuntutan tersuai boleh mengandungi sebarang data khusus aplikasi.
Mengapa sesiapa boleh menyahkod JWT?
JWT dikodkan, bukan disulitkan. Muatan adalah dikodkan Base64URL (tidak disulitkan), jadi sesiapa sahaja boleh membacanya. Tandatangan menghalang gangguan, bukan membaca. Jangan sekali-kali menyimpan data sensitif (kata laluan, SSN) dalam muatan JWT.
Mengapakah sesetengah token tiada tandatangan?
Token dengan alg: tiada yang tidak mempunyai tandatangan. Ia adalah JWT yang sah mengikut spesifikasi tetapi tidak memberikan jaminan ketulenan dan tidak boleh diterima dalam pengeluaran.
Adakah JWT disulitkan?
Muatan JWT standard ditandatangani tetapi tidak disulitkan. JWE (JSON Web Encryption, RFC 7516) ialah format berasingan untuk token yang disulitkan. Kebanyakan JWT di alam liar adalah JWS (ditandatangani sahaja).
Adakah token saya dimuat naik ke pelayan?
Tidak. Penyahkodan berlaku dalam penyemak imbas anda; token tidak meninggalkan peranti anda.
Berapa lama JWT biasanya?
Di mana-mana dari beberapa ratus hingga beberapa ribu aksara. Panjang bergantung pada bilangan dan saiz tuntutan serta panjang tandatangan (yang bergantung pada algoritma).