Base64 Kodlayıcı/Çözücü
Base64, ikili verileri 64 ASCII karakteri kullanarak temsil eden bir ikili-metin kodlama şemasıdır. JSON, XML ve URL gibi metin tabanlı formatlara ikili veri gömmek için yaygın olarak kullanılır. Bu araç, Base64 verilerini çözerek orijinal içeriği ortaya çıkarır ve sonucun JSON, XML veya ayrıştırılabilir başka formatlar olup olmadığını otomatik olarak algılar.
Spesifikasyonlar
Yaygin Kullanim Alanlari
- Base64 ile kodlanmış API yüklerini ve webhook'ları çözme
- JWT token'larındaki kodlanmış verileri inceleme
- E-posta eklerini çözme (MIME Base64)
- Kodlanmış hata mesajlarını ve yığın izlerini hata ayıklama
- Ortam değişkenlerindeki kodlanmış yapılandırma değerlerini görüntüleme
Ozellikler
- Standart Base64'ü UTF-8 metne çözme
- URL güvenli Base64 varyantlarını destekleme (+ ve / yerine - ve _)
- Çözülen içerik türünü otomatik algılama (JSON, XML vb.)
- Yapılandırılmış veri algılandığında uygun ayrıştırıcıya zincirleme
- Metni Base64'e kodlama
- Çözülmüş ikili görüntü verileri için görüntü önizleme
- UTF-8 olmayan ikili veriler için hex görüntüleyici
- Format algılama rozeti (Standart / URL Güvenli / Karışık)
Ornekler
Ipuclari
- Base64 bir kodlamadır, şifreleme değildir. Hiçbir güvenlik sağlamaz.
- Sondaki = dolgusu bazı uygulamalarda atlanabilir.
- URL güvenli Base64, URL kodlama sorunlarını önlemek için + yerine - ve / yerine _ kullanır.
- Base64, veri boyutunu yaklaşık %33 artırır.
Anlama Base64 Kodlayıcı/Çözücü
Base64, RFC 4648'de tanımlanan ve rastgele ikili verileri 64 yazdırılabilir ASCII karakteri (A-Z, a-z, 0-9, +, /) ve dolgu karakteri (=) kullanarak temsil eden bir ikili-metin kodlama şemasıdır. Temel amacı, ham baytları doğru şekilde işleyemeyebilecek metin tabanlı sistemler (e-posta, JSON yükleri, XML belgeleri ve URL parametreleri gibi) aracılığıyla ikili verileri taşımaktır.
Kodlama işlemi, girdinin her üç baytını (24 bit) dört adet 6 bitlik gruba böler. Her 6 bitlik değer, 64 karakterden birine eşlenir. Girdi uzunluğu üç baytın katı olmadığında, bir veya iki = karakteri ile dolgu yapılarak çıktının dört karakterin katı olması sağlanır. Bu, Base64 ile kodlanmış verinin orijinalden yaklaşık %33 daha büyük olduğu anlamına gelir.
İki ana varyant bulunmaktadır. Standart Base64, + ve / kullanır ve MIME e-posta kodlamasında kullanılır. URL güvenli Base64 (base64url), URL için ayrılmış karakterlerden kaçınmak amacıyla + yerine - ve / yerine _ kullanır. JWT token'ları, dolgu olmadan URL güvenli varyantı kullanır. Bazı uygulamalar, orijinal veri uzunluğu çıkarılabildiği için sondaki = dolgusunu atlar.
Base64, web geliştirmede her yerde karşımıza çıkar. Veri URI'leri görüntüleri ve fontları HTML/CSS'e gömer. JWT token'ları üç Base64url kodlu segmentten oluşur. SAML mesajları Base64 ile kodlanmış XML'dir. API yanıtları, JSON içinde ikili içeriği Base64 olarak kodlayabilir. Önemle belirtmek gerekir ki, Base64 bir kodlamadır, şifreleme değildir — sıfır güvenlik veya gizlilik sağlar.
Base64 bir şifreleme biçimi değildir ve asla öyle değerlendirilmemelidir. Veriyi herhangi bir anahtar veya sır olmadan farklı bir temsile dönüştürür ve herkes bir Base64 dizesini anında çözebilir. Hassas veriler Base64 ile kodlanmışsa tamamen açığa çıkar. Gizli kalması gereken veriler için AES veya RSA gibi gerçek şifreleme algoritmaları kullanın. Standart Base64, 62. ve 63. karakterler olarak + ve / kullanırken, URL güvenli Base64 (RFC 4648 Bölüm 5'te tanımlanan base64url), + ve / URL'lerde özel anlam taşıdığı için bunları - ve _ ile değiştirir. JWT token'ları her zaman dolgu olmadan URL güvenli varyantı kullanır.
= dolgu karakterleri, kodlanmış çıktı uzunluğunun her zaman 4 karakterin katı olmasını sağlar. Base64, 3 baytı 4 karaktere kodladığından, uzunluğu 3'ün katı olmayan girdilerin dolguya ihtiyacı vardır: 1 kalan bayt == üretir, 2 kalan bayt = üretir. JWT dahil bazı uygulamalar, çözücü orijinal uzunluğu kodlanmış dize uzunluğundan hesaplayabildiği için dolguyu tamamen atlar.
%33'lük boyut artışı kodlamaya özgüdür: her 3 bayt (24 bit) 4 ASCII karaktere (32 bit) dönüşür, sabit 4/3 genişleme oranı azaltılamaz. Boyut bir sorunsa, kodlamadan önce verileri sıkıştırın. Büyük ikili varlıklar için, Base64'ü metin formatlarına gömmek yerine çok parçalı yüklemeler veya ikili WebSocket çerçeveleri gibi uygun ikili aktarım mekanizmalarını değerlendirin.