PHP URL Dostu Base64 Encode ve Decode

Php URL Dostu Base64 Encode - Decode

PHP URL Dostu Base64 Encode ve Decode

 Merhaba arkadaşlar bu gün sizlere url dostu base64 encode etmeyi ve decode etmek için kullanabileceğiniz bir fonksiyonu göstereceğim.

Bazen basit düzeyde bir şifreli url göndermek istediğimiz zaman base64 kullanmayı tercih edebiliriz ama base64 de bulunan 2 adet karakter bizim planlarımızı kötü etkileyebiliyor ve url'nin çalışmasına engel olabiliyor işte bu engellenmeye yakalanmadan nasıl base64 ü url de kullanabiliriz gelin görelim.

function Base64Encoder($data){
    return rtrim(strtr(base64_encode($data), '+/', '-_'), '='); 
}

function Base64Decoder($data){
    return base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT)); 
}

Yukarıda gördüğünüz 2 fonksiyon yardımı ile artık web sitelerimizde url olarak base64 encode edebilir ve decode edebiliriz.

Yukarıdaki fonksiyonların çalışma mantığına gelecek olursak base64 ün şifreleme mantığında kullandığı karakterler ile ilgilidir.

Base64 şifrelemesinde toplamda 65 karakter kullanılabilir bunlar; 26 küçük harf + 26 büyük harf ve 10 rakamdır ve bunlara ek olarak "+", "/" ve "=" de kullanılır böylelikle 65 karakter tamamlanmış olur ama biz bu sondaki 3 karakteri kullandığımız zaman url yapısından dolayı hata alırız işte bu yüzden bu 3 karakteri "-" ve "_" ile değiştiğimiz zaman URL'lerimiz sorunsuz olarak çalışmaktadır.