Archive Pages Design$type=blogging

Kırılması Imkansız PHP Şifrelemesi Yapalım !

PHP tabanlı projeleri bir binaya benzetirsek, güvenlik bu binanın temelidir.

php şifreleme, php şifre

Bu yazımda çok basit ama gerçekten işlevsel bir şifreleme yöntemi paylaşacağım. Her zaman için geçerli olan düşüncem; PHP tabanlı projeleri bir binaya benzetirsek, güvenlik bu binanın temelidir. Çoğu kişi projelerinde şifreleri doğrudan veritabanına kaydederek işlemlerini gerçekleştirir, belki bir MD5 şifrelemesi yapar ancak bu maalesef yeterli değil. Dilerseniz şimdi peki ne yapabilirizi konuşalım. Bildiğiniz üzere MD5 şifrelemeleri kırılabilir. Aslında tek yönlü bir şifreleme ama yinede kırılıyor yani kırabiliyorlar. Bu sebeptendir ki MD5 şifrelemesi tek başına yeterli güvenliği sağlamıyor. Gerekli güvenliği sağlamak adına bir kaç şifreleme yöntemini birlikte kullanmamız ve birde ufak bir şaşırtmaca bizim için yeterli olacaktır. Hemen bir örnek üzerinde açıklayayım. Yine her zamanki gibi şifremiz 123456 olsun. :)
<?php
  $sifre = "123456"; // şifremiz.
  $sifrele = sha1(base64_encode(md5(base64_encode($sifre))));
  // çıktı : 5e98f8f98e228cc26b1b1ad97bc5014156053728
?>
Bu örnekte şifremizi önce BASE64 sonra MD5 ve bir kez daha BASE64 ile şifreledik ve son olarak SHA1 ile şifreleme yaptık. Burada bir şaşırtmaca yapmak adına son şifrelemeyi SHA1 ile yaptık nedenini birazdan öğreneceksiniz. Bildiğiniz gibi MD5 ile SHA1 şifreleme algoritmaları tek yönlü şifreleme algoritmalarındandır ve her ikiside küçük harfler ve rakamlardan oluşmaktadır. Tek farkları MD5 fonksiyonu 16lık bir karakter dizgesini 32lik bir karakter dizgesine dönüştürürken SHA1 fonksiyonu 40lık bir karakter dizgesine dönüştürmesidir. (PHP şifreleme yöntemleri ile ilgili daha detaylı bilgi almak için buraya tıklayabilirsiniz.) Şifremizi güvenli bir şekilde saklamak adına bir kaç kez şifreleme yaptık ve şimdi de şaşırtmaca dediğim kısıma gelelim.
<?php
  $sonuc = substr($sifrele, 5, 32);
  // çıktı : 8f98e228cc26b1b1ad97bc5014156053
?>
Şimdide substr() fonksiyonunu kullanarak 40lık karakter dizgesi olan SHA1 şifrelememizin 5. karakterden itibaren 32lik bir karakter dizgesi aldık. Bu sayede elde ettiğimiz son değer 8f98e228cc26b1b1ad97bc5014156053 oldu. Yani tamamı küçük harflerden ve rakamlardan oluşan 32lik bir karakter dizgesi. MD5 şifrelemesiyle birebir aynı. :) Artık veri tabanımıza art niyetli biri ulaşsa bile şifrelememizi MD5 şifrelemesi sanarak saatlerini ayırıp kırmaya çalışacak ancak şifrelememiz MD5 değil. MD5 olmadığını anlasa bile bir kaç defa şifreleme yaptığımızdan bizim için güvenilir bir şifreleme oldu diyebiliriz, takipte kalın. :)

Yorumlar

Ad

AdSense Blogger CSS Nedir Paylasabildiklerim PHP SEO Teknoloji TeorikBilgiler Webmaster WordPress
false
ltr
item
Taha Çetiner: Kırılması Imkansız PHP Şifrelemesi Yapalım !
Kırılması Imkansız PHP Şifrelemesi Yapalım !
PHP tabanlı projeleri bir binaya benzetirsek, güvenlik bu binanın temelidir.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0IHhhkrKfMm0FZnrHKqcZel3ImKU_KGKx_Bgq2GTjRBZdIwKH7fGnA3X-VmY_-XzvvC1KuvznMrpRggoCr8VJ2rmXHTZbX53wy33_Z_4uB2xM1TUezfM1-eDfA9ILaZ2LITJFwmlokaU/s1600/php.jpg
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0IHhhkrKfMm0FZnrHKqcZel3ImKU_KGKx_Bgq2GTjRBZdIwKH7fGnA3X-VmY_-XzvvC1KuvznMrpRggoCr8VJ2rmXHTZbX53wy33_Z_4uB2xM1TUezfM1-eDfA9ILaZ2LITJFwmlokaU/s72-c/php.jpg
Taha Çetiner
https://tahacetiner.blogspot.com/2016/12/krlmas-imkansz-php-sifrelemesi-yapalm.html
https://tahacetiner.blogspot.com/
https://tahacetiner.blogspot.com/
https://tahacetiner.blogspot.com/2016/12/krlmas-imkansz-php-sifrelemesi-yapalm.html
true
146515384480327288
UTF-8
Herhangi bir içerik bulunamadı Tümünü göster Devamını Gör Cevapla Iptal Sil Yazar: Anasayfa Sayfalar Yazılar Tümünü Görüntüle Önerilenler Etiket Arşiv Ara Aradığınız kelime ile ilgili hiçbir içerik bulunamadı Anasayfaya Dön Pazar Pazartesi Salı Çarşamba Perşembe Cuma Cumartesi Pzr Pzrts Salı Çarş Perş Cuma Cmrts Ocak Şubat Mart Nisan Mayıs Haziran Temmuz Ağustos Eylül Ekim Kasım Aralık Ocak Şubat Mart Nisan Mayıs Haziran Temmuz Ağustos Eylül Ekim Kasım Aralık şimdi 1 dakika önce $$1$$ dakika önce 1 saat önce $$1$$ saat önce Dün $$1$$ gün önce $$1$$ hafta önce bir kaç hafta önce