Skip to content

Guide

jwt.io Alternatifleri: Çevrimiçi JWT Çözücülerin Karşılaştırması

jwt.io, referans uygulamadır. Token gerçek kimlik bilgileri içeriyorsa yalnızca istemci taraflı çalışan bir çözücü kullanın.

By Published

Güvenlik notu: Üretim kimlik bilgileri, oturum tokenları veya özel anahtar materyali içeren bir JWT'yi jwt.io ve Convertitive dahil hiçbir çevrimiçi araca yapıştırmayın. Gerçek kimlik bilgisi içeren tokenlar için aşağıdaki SSS bölümündeki komut satırı örneklerini kullanarak yerel olarak çözün.

JWT'ler (JSON Web Tokenları), nokta işaretiyle ayrılmış üç Base64url kodlu bölümden oluşur. Başlık ve yük şifrelenmemiştir — tokenı elinde bulunduran herkes tarafından okunabilir. Bunları çözmek için gereken tek şey bir Base64url çözme ve bir JSON ayrıştırma işlemidir. Soru, bunu yapıp yapamayacağınız değil, nerede yapacağınız ve seçtiğiniz aracın gereksiz risk yaratıp yaratmadığıdır.

jwt.io'nun güçlü yönleri

jwt.io, Auth0 (artık Okta bünyesinde) tarafından bakımı yapılır ve JWT ekosisteminin resmi referans aracına en yakın seçenektir. Güçlü yönleri tartışmasızdır:

  • İmza doğrulama — bir gizli anahtar (HMAC) veya açık anahtar (RSA, ECDSA, EdDSA) yapıştırın; jwt.io tokenın imzasının geçerli olup olmadığını doğrular. Başka hiçbir popüler ücretsiz çevrimiçi araç bunu bu kadar temiz sunmaz.
  • Algoritma kapsamı — HS256, HS384, HS512, RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384, PS512 ve Ed25519/Ed448.
  • RFC uyumluluğu — araç, JWT şartnamelerine katkıda bulunan kişiler tarafından bakılır. Bir token RFC 7519'a göre geçersizse jwt.io bunu belirtir.
  • Kütüphane listesi — jwt.io'nun altında 30'dan fazla dil için açık kaynaklı JWT kütüphanelerinin bağlantılı bir listesi yer alır. Bu, uygulama seçen mühendisler için gerçek bir referans kaynağıdır.
  • Ekosistem güveni — jwt.io URL'leri, belgeler, Stack Overflow yanıtları ve API referans rehberlerinde token açıklamalarını paylaşmak için fiili standart haline gelmiştir.

Gizlilik endişesi

jwt.io tamamen tarayıcıda çalıştığını belirtir. Auth0, çözme işlemi sırasında token verilerinin sunucularına gönderilmediğini onaylamıştır. Bu durum, temel çöz-ve-göster işlemi için büyük olasılıkla doğrudur.

Ancak jwt.io, Auth0'ın ağ düzeyinde kontrolü dışında kalan üçüncü taraf JavaScript dosyaları — analitik, izleme ve reklam betikleri — yükler. Güvenlik araştırmacıları ve topluluk üyeleri bu endişeyi GitHub'da ve güvenlik forumlarında dile getirmiştir: üçüncü taraf bir CDN'den yüklenen bir betik teorik olarak DOM'u okuyabilir. Bu durumun özellikle jwt.io'da istismar edilme olasılığı düşük olmakla birlikte sıfır değildir.

Pratik rehberlik doğrudan RFC 7519 §10 ve OWASP'tan gelir: token hassas bir şey taşıyorsa — oturum tanımlayıcısı, kullanıcı kimlik talepleri, özel bir talepteki bir API anahtarı — çevrimiçi değil yerel olarak çözün. Çözme işlemi, herhangi bir programlama dilinde veya terminalde kolayca yapılabilir.

Convertitive’in JWT çözücüsü tamamen istemci taraflıdır. Sayfa, giriş alanlarını okuyan analitik betikler içermez ve tarayıcıdan herhangi bir token verisi çıkmaz. Bu, düşük riskli ancak tamamen kullanılıp atılabilir nitelikte olmayan tokenlar — geliştirme tokenları, hazırlık kimlik bilgileri, demo JWT'leri — için anlamlı bir farktır.

Convertitive’in JWT çözücüsünün yapmadıkları

Convertitive imza doğrulamayı desteklemez ve bu bilinçli bir tasarım kararıdır.

İmza doğrulama için ya paylaşılan bir gizli anahtar (HMAC) ya da açık anahtar (RSA/ECDSA) sağlamanız gerekir. Bunlardan herhangi birini tarayıcı tabanlı bir araca girmek bir güvenlik karşı-örüntüsüdür: gizli anahtarlar gizli anahtar yöneticilerine aittir, tarayıcı giriş alanlarına değil. Bunları JavaScript'te doğru şekilde işleyen bir araç bile — hiçbir zaman sunucuya göndermeden — kullanıcıları kimlik bilgilerini kopyala-yapıştır öğelerine dönüştürmeye alıştırır.

RFC 7519 §10 bunu açıkça ele alır: “JWT imzalamak veya doğrulamak için kullanılan anahtarlar gizli tutulmalı ve paylaşılmamalıdır.” RFC 8725, doğrulamanın güvenilmez yüzeylere devredilmesi durumunda algoritma karışıklığı saldırılarının önemsiz biçimde istismar edilebildiğini vurgulayarak bunu daha da ileri götürür.

Bir JWT imzasını doğrulamanız gerekiyorsa uygulamanızın JWT kütüphanesini doğrudan veya yerel bir betik kullanın. jwt.io’nun imza doğrulaması geliştirme aşamasında hata ayıklamak için kullanışlıdır — yalnızca geliştirme veya test anahtarı kullanın, üretim gizlisi asla.

Özellik karşılaştırması

Özellikjwt.iotoken.devConvertitive
Başlık + yük çözmeEvetEvetEvet
İmza doğrulamaEvet — tüm büyük algoritmalarEvet — HMAC ve RSAHayır (tasarım gereği)
exp / iat okunabilir gösterimEvetEvetEvet
Algoritma kapsamıÇok geniş — 12+ algoritmaOrtaYalnızca görüntüleme (doğrulama yok)
Üçüncü taraf analitik betiklerEvet (Auth0 / Okta analitiği)MinimalHayır
Token verisi sunucuya gönderiliyor mu?Hayır (istemci taraflı olduğu iddia ediliyor)HayırHayır (doğrulanmış istemci taraflı)
Kütüphane referans listesiEvet — 30+ dilHayırHayır
JWE (şifreli token) desteğiHayırHayırHayır
Çevrimdışı kullanım (ilk yükleme sonrası)KısmiEvetEvet
Bakım sorumlusuAuth0 / OktaToplulukConvertitive

jwt.io'yu ne zaman kullanmalı

  • Geliştirme aşamasında bir imzayı doğrulamanız gerekiyor ve geliştirme ya da test anahtarı kullanıyorsunuz (üretim gizlisi asla).
  • Yığınınız için bir JWT uygulaması seçmek amacıyla kütüphane referans listesine ihtiyaç duyuyorsunuz.
  • Bir meslektaşınızla token açıklaması içeren bir bağlantı paylaşmak istiyorsunuz — jwt.io bağlantıları mühendisler arasında evrensel olarak anlaşılır.
  • Gerçek kimlik bilgisi olmayan bir demo veya sentetik tokenınhata ayıklamasını yapıyor ve en kapsamlı arayüzü istiyorsunuz.

Convertitive’in JWT çözücüsünü ne zaman kullanmalı

  • Token, düşük riskli de olsa hiçbir üçüncü taraf betiğine maruz bırakmak istemediğiniz bir geliştirme veya hazırlık tokenıdır.
  • Yalnızca yük taleplerini okumak istiyorsunuz — son kullanma tarihi, konu, roller — ve imza doğrulamaya ihtiyacınız yok.
  • Bir token biçimini denetliyorsunuz (başlık algoritmasını kontrol etmek, talep adlarını doğrulamak) ve jwt.io'nun tüm özelliklerine ihtiyacınız yok.

JWT yapısını hatırlayalım

Standart bir JWT'nin nokta ile ayrılmış üç bileşeni vardır:

  1. Başlık — token türünü (JWT) ve imzalama algoritmasını (alg) belirten Base64url kodlu JSON.
  2. Yük — talepleri içeren Base64url kodlu JSON. Kayıtlı talepler arasında iss (yayıncı), sub (konu), aud (hedef kitle), exp (son kullanma) ve iat (yayımlanma zamanı) yer alır.
  3. İmza— başlık + “.” + yük üzerinden başlıkta belirtilen algoritma ve anahtar kullanılarak hesaplanır. Anahtar olmadan çözülemez.

1. ve 2. kısımlar gizli değildir — yalnızca kodlanmıştır, şifrelenmemiştir. Token dizesine sahip olan herkes başlığı ve yükü okuyabilir. İmza, tokenın imzalama anahtarını elinde bulunduran biri tarafından verildiğini kanıtlar ancak içeriği gizlemez.

Daha derin bir teknik inceleme için JWT token çözme rehberimize bakın. Özellikle Base64url kodlamasını anlamak için Base64 kodlama açıklamamıza göz atın.

Dürüst özet

İmza doğrulamaya ihtiyaç duyuyorsanız veya en eksiksiz JWT referans deneyimini istiyorsanız jwt.io daha iyi bir araçtır. JWT şartnamesi konusunda derin bağlamı olan kişiler tarafından bakılır ve kütüphane listesi gerçekten kullanışlıdır.

Convertitive’in çözücüsü; tokenınızın herhangi bir üçüncü taraf betikle etkileşime girmemesini garantilemek istediğinizde ya da imza doğrulama karmaşıklığına gerek duymaksızın yalnızca başlık ve yük incelemesine ihtiyaç duyduğunuzda daha iyi seçimdir. Kasıtlı olarak daha az şey yapar.

Gerçek üretim kimlik bilgisi içeren herhangi bir token için: ikisini de kullanmayın. Komut satırını kullanın.

Frequently asked questions

jwt.io bir JWT imzasını doğrulayabilir mi?
Evet — jwt.io imza doğrulamayı destekler. Tokenınızı yapıştırır, algoritmayı seçer ve bir gizli anahtar (HMAC için) ya da açık anahtar (RSA/ECDSA için) sağlarsınız. Convertitive'in çözücüsü tasarım gereği imza doğrulamayı desteklemez: RFC 7519 §10 uyarınca, imzalama anahtarını veya özel anahtarı herhangi bir tarayıcı tabanlı araca girmek bir güvenlik karşı-örüntüsüdür.
jwt.io tokenımı Auth0 sunucularına gönderiyor mu?
jwt.io tamamen tarayıcıda çalıştığını iddia eder. Auth0 (bakımını üstlenen kuruluş), çözme işlemi sırasında sunucuya istek gönderilmediğini belirtiyor. Bu, temel çöz-ve-göster işlemi için büyük olasılıkla doğrudur. Ancak jwt.io, Auth0'ın ağ düzeyinde kontrolü dışında kalan üçüncü taraf JavaScript dosyaları — analitik, izleme ve reklam betikleri — yükler. Güvenlik araştırmacıları ve topluluk üyeleri bu endişeyi GitHub'da ve güvenlik forumlarında dile getirmiştir: üçüncü taraf bir CDN'den yüklenen bir betik teorik olarak DOM'u okuyabilir. Bu durumun özellikle jwt.io'da istismar edilme olasılığı düşük olmakla birlikte sıfır değildir. Token gerçek kimlik bilgileri içeriyorsa çevrimiçi bir araç yerine çevrimdışı bir araç veya yerel bir komut kullanmak en güvenli seçenektir.
Convertitive neden imza doğrulamayı desteklemiyor?
RFC 7519 §10, imzalama anahtarlarının paylaşılmaması gerektiğini açıkça vurgular. Gizli anahtar veya özel anahtar kabul eden tarayıcı tabanlı bir araç, kimlik bilgilerinin web formlarına girilmesi alışkanlığını normalleştirir. Convertitive yalnızca başlık ve yükü çözer — JWT'nin her zaman şifreleme olmadan Base64url kodlanmış olan ve imzalama gizlisi taşımayan bölümlerini.
Bir JWT şifreli midir?
Standart JWT'ler (JWS, JSON Web İmzası) imzalıdır ancak şifreli değildir — başlık ve yük, tokenı elinde bulunduran herkesin okuyabileceği şekilde Base64url kodludur. JWE (JSON Web Şifrelemesi) tokenleri şifrelidir. Tokenınız eyJ ile başlıyor ve üç noktalı bölümden oluşuyorsa bu bir JWS'dir; başlık ve yükü herhangi bir anahtar olmadan çözebilirsiniz.
Komut satırında bir JWT çözebilir miyim?
Evet. Node.js'de: node -e "const t='TOKEN_BURAYA'; console.log(JSON.parse(Buffer.from(t.split('.')[1],'base64url').toString()))". jq ve base64 ile: echo TOKEN_BURAYA | cut -d. -f2 | base64 -d | jq. Bunlar ağ bağlantısı gerektirmez ve üretim kimlik bilgilerini içeren tokenlar için önerilen yaklaşımdır.
JWT yükündeki 'exp' ne anlama gelir?
exp, RFC 7519 §4.1.4'te tanımlanan POSIX son kullanma zaman damgasıdır. 1970-01-01T00:00:00Z'dan bu yana geçen saniye cinsinden Unix zaman damgasıdır. Hem jwt.io hem de Convertitive bunu okunabilir bir tarih/saat olarak gösterir. Herhangi bir exp değerini mevcut zamanla karşılaştırmak için zaman damgası dönüştürücümüzü kullanabilirsiniz.

Sources & references

Authoritative references cited by this piece. Verified by Buğra Sözeri on the dates shown and re-checked at every deploy.

Related

Published May 31, 2026