Base64 baytları metinle taşır, sırları gizlemez

Base64, metin kanalının bayt verisi taşıması gerektiğinde işe yarar. Verinin gösterimini değiştirir; kimin anlayabildiğini değiştirmez veya küçülmesini garanti etmez.

Harflerden önce baytları sayın

Standart dolgulu Base64 her 3 baytı 4 karakterle gösterir ve gerekirse son grubu = ile tamamlar. Uzunluk için bayt sayısını 3’e bölün, yukarı yuvarlayın, sonra 4 ile çarpın.

Bir karakter UTF-8’de 1’den fazla bayt kaplayabilir. Kısa Arapça metin, aynı harf sayısındaki Latin metinden daha uzun kodlanmış sonuç verebilir.

Kaynaklar: RFC 4648 — Base encodings, padding and security considerations

Kodlama gizlilik sağlamaz

Değere sahip biri genellikle gizli anahtar olmadan çözebilir. Base64’ü parola korumak veya paylaşılan bağlantıda bilgi gizlemek için kullanmayın.

Çıktıyı kaynakla aynı hassasiyette ele alın. Başkalarının okumasını önlemek, farklı alfabe değil uygun güvenlik mekanizması gerektirir.

Kaynaklar: RFC 4648 — Base encodings, padding and security considerations

Çözülen baytların türünü bilin

Bu araç metni UTF-8 olarak kodlar ve geçerli UTF-8 metne çözer. Kodlanmış resim geçerli Base64 olabilir, ancak bu metin çözücüsüne uygun olmayabilir.

Bazı bağlantılardaki base64url çeşidi standart Base64’ten farklıdır. Kabul ettirmek için rastgele karakter ekleyip silmeyin; kaynağın beklediği çeşidi öğrenin.

Kaynaklar: RFC 4648 — Base encodings, padding and security considerations

Örnek: harf sayısı kodlanmış boyutu belirlemez

Hi! UTF-8’de 3 bayt kaplar ve SGkh olur: dolgusuz 4 karakter. Çözme, parolasız aynı metni geri verir.

Arapça مرحبا sözcüğü 5 harf ama 10 UTF-8 baytıdır. 16 karakterlik 2YXYsdit2KjYpw== olarak kodlanır. Boyut baytlara bağlıdır; 2 tane = işareti özgün 2 harfin silindiğini göstermez.

Kaynaklar