Php

PHP Gelişmiş Şifreleme ve Şifre Çözücüler (base64)

Yazan serkan

Bazı aşamalarda GET taleplerinde gönderilen parametreleri kullanıcıların anlamaması veya çok fazla müdahil olmaması için bazı şifrelemeler mevcuttur örneğin base64 bunlardan birisidir ama konuda biraz tecrübeli olan bir arkadaş kodun base64 olduğunu anlayabilir ve eğer gerekli güvenlik önlemlerini almadıysanız yazılım içerisinde çok rahat gezebilir. İlk aklınıza gelen md5 olabilir ama md5 bir çözücüsü şuanda yoktur.

$encode= base64_encode(123467890);
echo $encode;
//MTIzNDU2Nzg5MA==
$decode= base64_decode($encode);
echo $decode;
//1234567890

Yukarıda verdiğim örnekte 123467890 sayısını base64 ile şifreleyerek yeniden şifreyi çözdük, bu işlem yazılımda biraz tecrübesi olan bir çok arkadaş aşinadır ve çözmek çok basittir. Biz bu şifreleme yöntemlerini biraz daha geliştirerek çok tecrübeli olan bir yazılımcı bir arkadaşın bile kolay kolay anlayamayacağı bir şifrelemeden geçireceğiz. Bu yapacağımız yöntem ile çözmek o kadar kolay olmayacak, olmayacağı gibi görenlerde bu kodun base64 olduğunu anlamayacak ve çözemeyecekler.

//Şifreleme
function my_serialize( $obj )
{
 return base64_encode(gzcompress(serialize($obj)));
}
//Şifrelemeyi Çöz
function my_unserialize($txt)
{
 return unserialize(gzuncompress(base64_decode($txt)));
}

Yukarıda verdiğimiz örnek ile yine base64’den faydalanıyor ama bir kaç fonksiyon ile bu şifrelemeyi destekliyor ve kırılma ihtimalini daha düşürüyoruz. Tabi bu sistemde %100 güvenli diyemeyiz çok daha önemli olduğu durumlarda özel şifrelemeler geliştirmeniz gerekmektedir. Şimdi yukarıdaki verdiğimiz örneği bizim yazdığımız fonksiyonlar ile yazacağız ve oluşturulan şifrenin ne denli değiştiğini göreceksiniz.

$encode= my_serialize(123467890);
echo $encode;
//Base64 ile oluşturulan : MTIzNDU2Nzg5MA==
//Oluşturduğumuz Fonksiyonunun Oluşturduğu : eJzLtDI0MjYxNTO3sDSwBgAVhALs
$decode= base64_decode($encode);
echo $decode;
//Base64 ile çözmek istersek çözemeyecektir. Çıktısı : x�˴2426153��4���
//Şifrelemeyi Fonksiyonumuz İle Kolayca Çözebiliriz.
$decode= my_unserialize($encode);
echo $decode;
 //1234567890

Kendinize bu örnekten de yararlanarak kendinize yeni şifreleme yöntemleri geliştirebilirsiniz. Fakat bu yöntemden evvel yapacağınız kontrol mekanizmaları ile son aşamalarda kontrollerinizi geliştirmeniz olacaktır.
Base 64 Çözebilmek İçin Alternatif Bir Site;
Base64enCode
Base64deCode
Google chrome üzerinden bir eklenti ilede çok kolay şekilde base64 çözebilir üretebilirsiniz.
Chrome Eklentisi

Yazar Hakkında

serkan

Leave a Comment