← Tüm araçlar

Base64 Kodlama ve Çözme

Tarayıcınızda Base64 kodlayın ve anında çözün. Base64 nedir, boyutu neden %33 artırır ve neden şifreleme değil de kodlama olduğunu anlayın.

Base64 Nedir ve Neden Vardır?

Base64, ikili-metne dönüştürme şemasıdır. Resimleri, arşivleri, şifreleme anahtarlarını veya düz okunabilir metin olmayan her türlü ham baytı alır ve 64 yazdırılabilir karakterden oluşan küçük, güvenli bir alfabe kullanarak yeniden yazar: 26 büyük harf A-Z, 26 küçük harf a-z, on basamak 0-9 ve genellikle + ile / olan iki ekstra sembol. Dolgu için sonuna eşittir işareti eklenir. Ürettiği her karakter sıradan ASCII olduğundan, sonuç yalnızca metin işlemek üzere tasarlanmış sistemlerden geçebilir.

Base64'ün icat edilmesinin tek nedeni budur. E-posta gibi pek çok eski protokol, taşıdıkları içeriğin metin olduğunu varsayar. Ham ikili veri verirseniz bazı baytlar bozulur, silinir veya kontrol karakterleri olarak yorumlanır; veri hasarlı biçimde ulaşır. Base64, baytları metin güvenli herhangi bir kanalın bozulmadan geçirebileceği bir forma dönüştürerek bu sorunu ortadan kaldırır. Orijinal veri, karşı tarafta tam olarak yeniden oluşturulabilir.

İkili veri akışının koyu indigo arka planda siyan ve altın ışıkla metin karakter akışına dönüşmesi
Base64, ham baytları güvenli ve metne uygun bir karakter akışına dönüştürür.

Dönüşüm Nasıl Çalışır?

Mekanik olarak Base64, girdiyi üçer baytlık parçalara (yani 24 bit) gruplar ve ardından aynı 24 biti her biri altı bitten oluşan dört gruba böler. Altı bit 64 olası değeri temsil edebilir; bu tam olarak alfabenin 64 karaktere sahip olmasının nedenidir. Dolayısıyla üç bayt girdi her zaman dört karakter çıktıya dönüşür. Giriş uzunluğu üçün tam katı değilse kodlayıcı, son gruba bir veya iki = karakteri ekleyerek kod çözücünün gerçek verinin nerede bittiğini bilmesini sağlar.

Dört-üçe bu oran, ünlü boyut cezasının da kaynağıdır: Base64 çıktısı, orijinal veriden yaklaşık %33 daha büyüktür. Kodlanmış metin, e-posta standartlarının sıklıkla gerektirdiği gibi sabit genişlikli satırlara bölünürse satır sonları için birkaç ek yüzde daha ödersiniz. Bu ek yük, uyumlulığın bedelidir; çoğu kullanım için adil bir değiş tokuştur.

Base64'e Nerede Rastlarsınız?

Ne arayacağınızı bir kez öğrendikten sonra günlük bilişimde Base64'e her yerde rastlarsınız:

  • Data URI'leri. Küçük bir resim veya yazı tipi, dosya içeriği Base64 olarak yazılarak bir data: URI'siyle doğrudan HTML veya CSS içine gömülebilir. Tarayıcı onu satır içinde çözer ve ayrı bir ağ isteğinden tasarruf edilir.
  • E-posta ekleri. E-postaların dosya taşımasını sağlayan standart olan MIME, ikili ekleri yalnızca metin destekleyen bir posta sistemi üzerinden hasarsız taşımak için Base64'e dayanır.
  • HTTP Temel kimlik doğrulama. Tanıdık Authorization: Basic ... başlığı, iki nokta üst üste ile birleştirilmiş ve Base64 ile kodlanmış bir kullanıcı adı ile paroladan ibarettir; bu nedenle Temel kimlik doğrulamanın her zaman HTTPS üzerinden çalışması gerekir.
  • Token'lar ve yapılandırma. JSON Web Token'ları, sertifikalar, SSH anahtarları ve sayısız yapılandırma değeri, kopyalama-yapıştırma ve metin tabanlı depolamada sorunsuz iletilmesi için Base64 olarak saklanır veya aktarılır.

Kodlama Şifreleme Değildir

Bu, anlaşılması gereken en önemli tek şeydir ve hem yeni başlayanları hem de deneyimli geliştiricileri tuzağa düşürür. Base64 şifreleme değildir ve hiçbir güvenlik sağlamaz. Gizli anahtar yoktur, parola yoktur ve içinde gizli hiçbir şey yoktur. Dönüşüm tamamen kamuya açıktır ve tam tersine çevrilebilir: bir Base64 dizesi gören herkes, bu araç gibi bir araç kullanarak onu orijinal baytlara bir saniyede geri dönüştürebilir.

Dolayısıyla Base64, parolalar, API anahtarları veya hassas değerler için kötü bir gizleme yeridir. Bir dize yalnızca karışık görünüyorsa, bu onu korumalı kılmaz. Şifreleme ise verileri gizli bir anahtarla dönüştürür; böylece yalnızca o anahtara sahip olan kişi okuyabilir. İkisi farklı sorunları çözer: şifreleme gizliliği korur, Base64 uyumluluğu korur. Genellikle birlikte kullanılırlar; örneğin verileri AES ile şifreleyip ardından şifreli metni bir metin kanalından geçirebilmek için Base64 ile kodlayabilirsiniz. Ancak biri diğerinin yerini tutamaz.

Bir görselin siyan ve altın renkli indigo lacivert arka planda parlak karakterlerin akışına dönüşüp yeniden bir araya gelmesi
Kodlama ve kod çözme mükemmel şekilde tersine çevrilebilir; gizlilik sağlamaz.

Kodlama ve Kod Çözme

İki yön basit ayna görüntüleridir. Kodlama, orijinal metninizi veya ikili verilerinizi alarak Base64 karakter dizesini üretir. Kod çözme, bir Base64 dizesini alarak tam orijinal baytları yeniden oluşturur. Aracımız her ikisini de doğrudan tarayıcınızda yapar; yazdığınız veya yapıştırdığınız hiçbir şey sunucuya gönderilmez; dolayısıyla işlem tamamen yerel ve özeldir. Bu, hata ayıkladığınız bir token'ı çözmeyi veya gömmek istediğiniz bir kod parçacığını kodlamayı, verilerinizin sayfadan çıkmaması koşuluyla güvenli hale getirir.

İlgili dönüşümler için yüzde kodlama amacıyla URL encode/decode aracımıza, bir token içindeki Base64 segmentlerini incelemeniz gerektiğinde ise JWT decoder'a göz atın. Bunları diğer geliştirici araçlarımızın yanında bulabilirsiniz.

Sıkça sorulan sorular

Base64 bir tür şifreleme midir?

Hayır. Base64 bir kodlamadır, şifreleme değildir. Anahtar kullanmaz ve herkes tarafından tam tersine çevrilebilir; dolayısıyla hiçbir güvenlik sağlamaz. Hassas verileri korumak için AES veya RSA gibi gerçek şifreleme kullanın.

Base64 neden veriyi büyütür?

Base64, her üç bayt girdiyi dört çıktı karakterine dönüştürür; bu boyuta yaklaşık %33 ekler. Çıktı sabit uzunluklu satırlara bölünürse satır sonları da üstüne birkaç yüzde daha ekler.

Base64 hangi karakterleri kullanır?

Standart alfabe; 26 büyük harf, 26 küçük harf, 0'dan 9'a kadar rakamlar ve artı ile eğik çizgi sembollerinden oluşur; sonda dolgu için eşittir işareti kullanılır.

Parolaları Base64 olarak güvenle saklayabilir miyim?

Hayır. Base64 yalnızca verinin görünümünü değiştirir, kimin okuyabileceğini değil. Herkes anında çözebilir. Parolalar güçlü bir algoritmayla özetlenmeli, gizli bilgiler ise şifrelenmelidir.

Bu Base64 aracı özel midir?

Evet. Kodlama ve kod çözme tamamen tarayıcınızda gerçekleşir. Girdiğiniz hiçbir şey yüklenmez veya herhangi bir sunucuya gönderilmez; verileriniz kendi cihazınızda kalır.

Kodlama ile kod çözme arasındaki fark nedir?

Kodlama, orijinal metin veya ikili veriyi bir Base64 dizesine dönüştürür. Kod çözme bunun tersini yapar ve Base64 dizesini tam orijinal baytlara geri döndürür. Bunlar ayna işlemlerdir.