Base64 şifrelemesi, verileri ASCII karakterleri kullanarak temsil eden bir kodlama yöntemidir. Bu sayede, verilerinizi daha geniş bir yelpazede aktarabilir ve depolayabilirsiniz. Özellikle, e-posta, XML ve JSON gibi formatlarda veri alışverişinde sıklıkla kullanılır. Base64 şifreleme, güçlü bir şifreleme yöntemi olmasa da, verilerinizi meraklı gözlerden korumak için basit ve etkili bir yöntemdir.
Base64, binary data olarak adlandırdığımız ikili verilerin ASCII karakterlerini, yani bilgi değişimi için Amerikan Standart Kodlama Sistemi'ni (American Standart Code of Information Interchange) kullanan ortamlarda iletilmesini ve saklanmasını sağlayan bir kodlama algoritmasıdır.
Base64 kodlamada 3 byte'tan oluşan 3*8 bit = 24 bit'lik veri 6 bitlik 4 gruba ayrılır. Bu 6 bitlik 4 adet grubun (0-64) arası decimal değerlerine karşılık gelen karakterler Base64 tablosunda eşleştirilerek kodlama yapılır. Base64 kodlama sonucu elde edilen karakter sayısı 4'ün katları şeklinde olmalıdır. 4'ün katı olmayan kodlanmış veri geçerli bir Base64 verisi değildir. Base64 algoritması ile kodlama yaparken kodlama tamamlandığında verinin uzunluğu 4'ün katı değil ise 4'ün katı olana kadar "=" (eşittir) karakteri kodlamanın sonuna eklenir.
Örnek vermek gerekirse,
Kodlama sonucu elimizde 10 karakterlik Base64 verisi var ise sonuna 2 adet "==" işareti eklenmelidir.
base64kodlama metnini Base64 ile kodlarsak "YmFzZTY0a29kbGFtYQ==" kodunu elde ederiz. Görüldüğü gibi 18 karakter olan kodlamanın sonuna "==" işaretleri eklenerek 4'ün katı olan 20'ye tamamladık.
Base64 kodlama (Encode) ile şifrelenmiş bir veriyi Base64 çözme (Decode) ile orjinal haline getirebiliriz.