İçeriğe geç
parazade

Base64 Nedir?

Yayın: · Son güncelleme:

Base64 Nedir? Kısaca

Base64, ikili veriyi (görsel, dosya, bayt dizisi) yalnız 64 güvenli karakterden oluşan düz metne çeviren bir kodlama yöntemidir. Büyük ve küçük harfler, rakamlar ile + ve / işaretlerini kullanır; şifreleme değildir.

Base64 nedir?
İçindekiler
  1. Base64 nedir?
  2. Nasıl çalışır?
  3. Nerelerde kullanılır?

Base64 nedir?

Base64, bayt dizilerini metin olarak taşımaya yarayan bir kodlama standardıdır. Bazı sistemler, örneğin e-posta ya da JSON, yalnız metin karakterlerini sorunsuz iletir. Bir görseli ya da PDF'i bu kanallardan göndermek için önce Base64 ile metne çevirmek gerekir.

Kullanılan 64 karakter şunlardır: A-Z, a-z, 0-9, + ve /. Metnin sonunda görülen = işareti ise dolgu karakteridir.

Nasıl çalışır?

Base64, her 3 baytlık veriyi 4 karaktere dönüştürür. 3 bayt 24 bit eder; bu bitler 6'şar bitlik dört gruba ayrılır ve her grup tablodaki bir karaktere karşılık gelir. Kısa bir örnek: "Man" kelimesi Base64'te "TWFu" olur.

Bu dönüşümün bir bedeli vardır. Kodlanmış veri, orijinalinden yaklaşık üçte bir oranında daha büyüktür. 300 KB'lık bir görsel Base64 metni olarak yaklaşık 400 KB tutar.

Nerelerde kullanılır?

E-posta ekleri MIME standardı gereği çoğunlukla Base64 ile kodlanır. Web'de küçük ikonlar "data:image/png;base64,..." biçiminde doğrudan HTML ya da CSS içine gömülebilir. API'lerde dosya yüklerken ve JWT gibi token'larda da sıkça görülür.

En önemli uyarı şudur: Base64 bir şifreleme yöntemi değildir. Kodlanmış metni herkes tek komutla geri çözebilir. Parola, API anahtarı ya da kişisel veriyi yalnız Base64 ile "gizlemek" hiçbir koruma sağlamaz. Hassas veride gerçek bir şifreleme yöntemi kullanın ve büyük dosyaları Base64'e çevirmek yerine doğrudan dosya olarak yükleyin.

Sıkça Sorulan Sorular

Base64 metni nasıl çözülür?

Çoğu programlama dilinde hazır fonksiyonlar vardır, örneğin JavaScript'te atob, Python'da base64.b64decode. Hassas veri içeren metinleri çevrim içi çözücü sitelere yapıştırmamaya özen gösterin.

Base64 metni neden = ile bitiyor?

Kodlanan veri 3 baytın katı değilse eksik kısım dolgu karakteriyle tamamlanır. Bir ya da iki = işareti bu dolguyu gösterir.

İlgili terimler

Encode Decode(Encoding and Decoding)Encode (kodlama), veriyi belirli bir kurala göre başka bir biçime dönüştürmek; decode (kod çözme) ise bu biçimi yeniden orijinal hâline getirmektir. Karakter kodlaması, URL kodlaması ve Base64 en yaygın örneklerdir.Karakter Kodlaması(Character Encoding)Karakter kodlaması, metindeki her harfin ve işaretin bilgisayarda hangi bayt dizisiyle saklanacağını belirleyen kurallar bütünüdür. ASCII, Windows-1254 ve UTF-8 en bilinen kodlamalardır.JWT(JSON Web Token)JWT (JSON Web Token), iki sistem arasında kullanıcı kimliği ve yetkileri gibi bilgileri JSON biçiminde taşıyan, dijital olarak imzalandığı için içeriğinin değiştirilip değiştirilmediği anlaşılabilen kompakt bir belirteç standardıdır.Şifreleme(Encryption)Şifreleme, okunabilir veriyi bir algoritma ve anahtar kullanarak yetkisiz kişilerin anlayamayacağı bir biçime dönüştüren ve yalnızca doğru anahtarı bilenin eski hâline getirebildiği veri koruma yöntemidir.Kodlama(Coding)Kodlama, bir işin nasıl yapılacağını programlama dilinin kurallarına uygun komutlarla yazma işidir. Yazılan metne kod denir ve bilgisayar bu kodu çalıştırarak istenen işlemi yapar.JSONJSON (JavaScript Object Notation), verileri anahtar-değer çiftleri ve listeler hâlinde, hem insanların hem makinelerin kolayca okuyabileceği metin biçiminde saklayan ve taşıyan veri formatıdır.HTMLHTML (HyperText Markup Language), web sayfalarının başlık, paragraf, bağlantı, görsel ve form gibi içerik yapısını etiketlerle tanımlayan ve tarayıcıların sayfayı nasıl göstereceğini belirleyen standart işaretleme dilidir.API Anahtarı(API Key)API anahtarı (API key), bir uygulamanın ya da kullanıcının bir API'ye istek gönderirken kimliğini kanıtlamak için kullandığı benzersiz ve gizli karakter dizisidir. Parola gibi korunması gerekir.