Kodlama

JWT Encoder/Decoder

JWT token kodlama ve çözme — header, payload, HMAC imzası ve standart alanlar.

A JWT (JSON Web Token) is a compact format for transmitting signed data, made of three dot-separated parts: a header, a payload, and a signature. This tool decodes any JWT and shows all three parts, and can also build a new token signed with HMAC.

Decoding does not verify the signature — reading a token's contents needs no secret key. Verifying the signature only matters when you need to trust the token as genuine.

How to use it

Common uses

Things to keep in mind

A JWT is not encrypted, only Base64URL-encoded — anyone can read the payload. Never put passwords or other secrets in it.

The signature protects against tampering, not against being read. For confidentiality you need extra encryption (JWE) or an HTTPS transport.

Bu araç hakkında makale: JWT: token yapısı ve bir JWT'yi "çözmek" ne anlama gelir

Sıkça sorulan sorular

Bir JWT'yi çözmek imzasını doğrular mı?

Hayır. Çözme işlemi yalnızca başlık ve yükü base64url ile çözerek claim'leri okumanızı sağlar — token'ın gerçek olduğunu kanıtlamaz. İmzayı gerçekten doğrulamak için buraya doğru gizli anahtarı veya açık anahtarı girmeniz gerekir.

Gerçek bir JWT'yi bu araca yapıştırmak güvenli mi?

Çözme ve imzalama tamamen tarayıcınızda gerçekleşir — token ve girdiğiniz herhangi bir gizli anahtar asla bir sunucuya gönderilmez. Yine de üretim sistemlerinden gelen token'lara dikkatli yaklaşın, çünkü çözülmüş bir JWT'yi gören herkes claim'leri okuyabilir.

Token'ım uygulamamda hâlâ çalıştığı halde neden süresi dolmuş görünüyor?

Buradaki Süresi Dolmuş/Geçerli göstergesi yalnızca exp claim'ini şu anki zamanla karşılaştırır — sunucunuzun veya kütüphanenizin uygulayabileceği saat sapması toleranslarını veya diğer doğrulama kurallarını kontrol etmez.

Algoritmayı "none" ile değiştirme saldırısı nedir?

Bir backend, token başlığındaki alg alanına saf bir şekilde güvenirse, saldırgan bunu none ile değiştirip imzayı kaldırabilir — ve keyfi verilerle bir token doğrulamadan geçer. Güvenilir kütüphaneler, doğrulama sırasında beklenen algoritmanın açıkça belirtilmesini zorunlu kılar.

Hassas oturumlar için JWT'yi neden localStorage'da saklamamalıyım?

localStorage, sayfadaki her JavaScript koduna açıktır, bu yüzden XSS'e karşı savunmasızdır — kötü niyetli bir betik token'ı çalabilir. Oturum token'ları için JavaScript'in erişemediği httpOnly çerezler kullanmak daha güvenlidir.

Makaleler: Kodlama

Base64: kodlama neden gerekli ve nasıl çalışır

Base64 ikili verileri ASCII metnine nasıl çevirir ve buna gerçekten ne zaman ihtiyaç duyulur.

Base32: Base64'ten farkı ve ne zaman daha kullanışlı

Büyük/küçük harf duyarsız Base32 alfabesi ve Base64'ten daha kullanışlı olduğu durumlar.

URL Encode/Decode: bağlantılarda percent-encoding

Adreslerdeki ve parametrelerdeki özel karakterlerin %XX dizilerine nasıl dönüştüğü.

HTML Entities: özel karakterleri güvenle nasıl gösterirsiniz

< > & karakterlerinin neden escape edilmesi gerektiği ve bunun bozuk işaretlemeyi nasıl önlediği.

Unicode Escape: \uXXXX dizileri ne anlama gelir

JSON ve JS dizelerindeki \u0041 gibi dizilerin nereden geldiği ve ne anlama geldiği.

ROT13 ve Sezar şifresi: basit karakter değişimi

13 harflik kaydırmanın ROT13'ü neden kendi kendine ters yapan bir işlem haline getirdiği ve hâlâ neden kullanıldığı.

Punycode: uluslararasılaştırılmış alan adları DNS'te nasıl çalışır

Latin olmayan karakterler içeren bir alan adının xn-- önekli ASCII formuna nasıl dönüştüğü.

Mors alfabesi: metin nokta ve çizgilere nasıl dönüşür

Harfleri nokta ve çizgilerle kodlama prensibi ve Mors alfabesinin günümüzde nerede kullanıldığı.

Data URI: görselleri doğrudan koda ne zaman gömmeli

Bir Data URI'nin bir dosyanın içeriğini doğrudan HTML veya CSS içine nasıl gömdüğü ve ne zaman buna değdiği.

Gzip + Base64: veriyi metin olarak iletmek için sıkıştırma

Sıkıştırılmış ikili verilerin bir metin alanına konmadan önce neden ayrıca Base64 ile kodlandığı.

XML Entities: XML belgelerinde karakter escape etme

Kendileri olmadan belgenin ayrıştırma sırasında bozulduğu beş zorunlu XML entity.