Base64 Nedir?
Base64, ikili veriyi ASCII metin karakterlerine dönüştüren bir kodlama standardıdır. RFC 4648 ile tanımlanmıştır ve internet protokollerinin temel taşlarından biridir. Adını 64 karakterlik alfabe setinden alır: büyük harfler (A–Z), küçük harfler (a–z), rakamlar (0–9) ve iki özel karakter (+ ve /). Her 3 baytlık ham veri, 4 karakterlik Base64 bloğuna dönüşür; bu nedenle boyut yaklaşık %33 artar.
Nasıl Çalışır?
Kodlama işlemi şu adımlarla gerçekleşir: ham veri 3 baytlık (24 bit) parçalara bölünür, her parça 4 adet 6 bitlik gruba ayrılır ve her grup 0–63 arasındaki bir sayıya karşılık gelen Base64 karakteriyle değiştirilir. Son grup 3 bayttan kısaysa = dolgu karakterleriyle tamamlanır. Çözme işlemi tam tersidir.
Kullanım Alanları
JWT (JSON Web Token)
Modern web uygulamalarında kimlik doğrulama için kullanılan JWT token'ları üç Base64URL kodlu bölümden oluşur: header, payload ve signature. Base64URL standart Base64'ten farklı olarak + yerine - ve / yerine _ kullanır; bu sayede URL'lerde sorunsuz çalışır. Bir JWT token'ını Base64 çözücüyle açarak header ve payload içeriğini kolayca okuyabilirsiniz.
HTTP Basic Authentication
HTTP Basic Auth, kullanıcı adı ve şifreyi kullanıcıadı:şifre formatında birleştirip Base64 ile kodlar ve Authorization başlığına ekler. Örnek: Authorization: Basic dXNlcjpwYXNz. Bu yöntem şifreleme değil kodlamadır; HTTPS olmadan güvensizdir.
E-posta Eklentileri (MIME)
SMTP protokolü yalnızca ASCII metin taşıyabilir. MIME standardı, e-posta eklentilerini ve gömülü görselleri Base64'e dönüştürerek ASCII uyumlu hale getirir. Bu sayede PDF, PNG veya herhangi bir dosya e-posta aracılığıyla gönderilebilir.
CSS Data URI
Küçük görseller, SVG ikonlar veya fontlar Base64'e çevrilerek doğrudan CSS ya da HTML içine gömülebilir. Bu teknik ek HTTP isteğini ortadan kaldırarak sayfa yükleme süresini kısaltır: background: url('data:image/png;base64,...')
REST API ve Veritabanları
JSON yalnızca metin veri taşıyabilir. Görseller, ses dosyaları veya ikili veriler API aracılığıyla aktarılırken Base64'e çevrilir. MongoDB ve diğer NoSQL veritabanları da ikili alanları Base64 olarak saklayabilir.
Base64 Şifreleme Değildir
Önemli bir yanılgı: Base64, şifreleme değil kodlamadır. Herhangi biri Base64 kodlu veriyi kolayca çözebilir; anahtar veya şifre gerekmez. Güvenlik amacıyla AES-256, RSA veya bcrypt gibi gerçek kriptografik algoritmalar kullanılmalıdır. Şifre veya kişisel veriyi Base64'e çevirip "güvende" saydığınızda ciddi bir güvenlik açığı oluşur.
URL-Safe Base64
Standart Base64'teki + ve / karakterleri URL'lerde sorun çıkarabilir. RFC 4648 §5, bu karakterlerin - ve _ ile değiştirildiği URL-safe varyantı tanımlar. OAuth 2.0 PKCE, JWT ve birçok modern API bu varyantı kullanır.
Gizlilik
Bu araç tüm işlemi tarayıcınızda gerçekleştirir. Girdiğiniz hiçbir metin sunucuya gönderilmez. Özel belgeler veya API anahtarlarını kodlarken bile güvenle kullanabilirsiniz.
Yorumlar