Çarşamba 29 Mart 2023
Hakkında
Yazarlarımız
Reklam
Künye
İletişim
Webmaster.Kitchen – Türkiye'nin Webmaster MutfağıWebmaster.Kitchen – Türkiye'nin Webmaster Mutfağı

Bülten

Sosyal Medya Yasası Kabul Edildi

Binance ‘e Siber Saldırı

Webmaster.Kitchen – Türkiye'nin Webmaster MutfağıWebmaster.Kitchen – Türkiye'nin Webmaster Mutfağı
  • BAŞLARKEN
    • KOD
      • PHP
      • Asp.Net
      • Swift
      • MySQL
      • CMS
  • TASARIM
    • İpuçları
    • Çizim
    • Illustrator
    • Photoshop
    • Trendler
  • ARAYÜZ
    • JavaScript
    • HTML5
    • CSS
    • REACT
  • İPUÇLARI
    • API
    • Güvenlik
    • IDE
    • Framework
    • OS
    • Verimlilik
    • İçerik
      • Dökümantasyon
      • İpuçları
      • Nasıl Oluşturulur?
  • KAYNAKLAR
    • Tasarım
    • Kod
    • İş
  • GİRİŞİM
    • Finans
    • Girişimci
    • Nasıl yapılır?
  • ARAÇLAR
  1. Anasayfa
  2. PHP
  3. PHP’de Şifreleme Yöntemleri
 PHP’de Şifreleme Yöntemleri
PHP

PHP’de Şifreleme Yöntemleri

Yazar : Hakan Karataş 29 Ekim 2016 1 Comment

İçindekiler

  • MD5

  • SHA1

  • CRC32

  • CRYPT

Arkadaşlar bu yazıda PHP’de şifreleme yöntemlerine ele alacağız. Özellikle işin içine güvenliğe dair herhangi bir konu girince önemi tahmin edeceğiniz üzere artmaktadır. Yaptığımız çalışmalarda, oluşturduğumuz projelerimizde ve daha bir çok yerde güvenliğe önem verilmelidir. Güvenliğin göz ardı edildiği çalışmalarımız birçok kötü senaryoya zemin hazırlar.

Yaptığımız çalışmalarımızda yada projelerimizde güvenliği ilgi alanında olan örneğin parolalarda herhangi bir filtre süzgecinden geçirmeden veya şifreleme algoritmalarından geçirmeden kodlama işlemini geçirdiğimizde dışarıdan gelen bir sızma veya saldırı sonucu istenmeyen durumlar gerçekleşebilir. Bu durum hem bizi hem de yaptığımız çalışmayı kullanacak kişileri olumsuz etkiler. Güvenlik noktasında bu gibi istenmeyen durumlarla karşı karşıya kalmamak adına şifreleme yöntemlerine başvurmalıyız.

Şimdi sırasıyla bu şifreleme yöntemlerini ele alacağız. Öncelik olarak isterseniz Md5() fonksiyonu ile başlayalım.

MD5

Kriptografide Md5, 128-bit yığın düğüm değeri ile geniş çaplı olarak kullanılan bir kriptografik düğüm fonksiyonudur. Md5 algoritması ile şifreleme sonucunda 32 haneli onaltılık bir sayı dizgesi döndürürüz. Bir internet standartı olarak Md5 bir çok güvenlik uygulamasında kullanılmaktadır.  Üyelik sistemlerinde parolaları şifrelemek için de kullanır. WordPress , PhpNuke ve Phpbb gibi sistemlerin şifreleri Md5 ile şifrelenerek korunmaktadır.

Md5 genellikle veri güvenliğinin kontrolünde kullanılır. Yani Md5 öncelikle bir verinin doğru transfer edilip, edilmediği ve değiştirilip, değiştirilmediğini kontrol için kullanılır.

Md5 şifreleme metodu ile şifrelenmiş bir parola kırılabilme ihtimali vardır. Bu kırılmaya sebebiyet veren durum ise parolanın yeterince uzun olmamasından ve basit şifre oluşturumundan kaynaklıdır. Fakat şifremizi belirlerken rakamları, küçük-büyük harf kullanımını ve özel karakterleri dahil edersek bu şifrenin kırılması oldukça zor olacaktır. Aşağıda Md5 metodunun kullanıma bakalım.

<?php

if(isset($_GET['md5me'])) {

    $md5ed = md5($_GET['md5me']);
}
?>

<p>MD5 Değeri: <strong><?php echo $md5ed;?></strong></p>

<form action="#" method="get">
    <label for="md5me">MD5'de şifrelenecek değer:</label>
    <input name="md5me" id="md5me" type="text" />
    <input type="submit" value="Şifrele" />
</form>

pic1

SHA1

Ulusal Güvenlik Ajansı (NSA) tarafından tasarlanan ve Secure Hashing Algorithm olarak adlandırılan bu metod diğer Sha algoritmaları içerisinde en yaygın olarak kullanılanıdır. Sha1 algoritması ile sadece şifreleme işlemi yapılmaktadır, şifre çözümleme işlemi yapılamaz. Md5 ve Sha1 arasındaki en temel fark oluşturdukları özetlerdeki boyutsal farklılıktır. Sha1 algoritması şifreleme sonucunda 40 haneli onaltılık bir sayı dizgesi döndürürüz.

Sha1 algoritması, e-posta şifreleme uygulamaları, güvenli uzaktan erişim uygulamaları, özel bilgisayar ağları ve daha bir çok alanda kullanılabilir. Günümüzde güvenliği daha üst seviyelere çıkartılması anlamında Md5 algoritması ile birlikte ard arda kullanılara veriler daha güçlü bir şekilde şifrelenmektedir.

Aşağıda bulunan Sha1 şifreleme yöntemini inceleyelim.

<?php

if(isset($_GET['sha1me'])) {

    $sha1ed = sha1($_GET['sha1me']);
}
?>

<p>SHA1 Değeri: <strong><?php echo $sha1ed;?></strong></p>

<form action="#" method="get">
    <label for="sha1me">SHA1'de şifrelenecek değer:</label>
    <input name="sha1me" id="sha1me" type="text" />
    <input type="submit" value="Şifrele" />
</form>

pic2

CRC32

Crc32 algoritması ile şifrelenen değerler Md5 algoritmasında olduğu gibi çözülmesi mümkün değildir. Bu algoritma bize şifrelenmesini istediğimiz değeri tam sayı olarak şifreleme işlemi yapar. Bu tam sayı değere göre pozitif veya negatif olmaktadır. Crc32 metodu Md5 ve Sha1 metodları gibi geri dönüşü yoktur.

Crc32 metoduna nasıl bir şekilde şifrelendiğine bir örnek ile bakalım.

<?php

if(isset($_GET['crc32me'])) {

    $crc32ed = crc32($_GET['crc32me']);
}
?>

<p>CRC32 Değeri: <strong><?php echo $crc32ed;?></strong></p>

<form action="#" method="get">
    <label for="crc32me">CRC32'de şifrelenecek değer:</label>
    <input name="crc32me" id="crc32me" type="text" />
    <input type="submit" value="Şifrele" />
</form>

pic3

CRYPT

Crypt metodu hemen hemen Md5 metoduyla benzerlik gösteren bir şifreleme yöntemidir. Bu fonksiyonu, Md5 metodundan farkı olarak daha karmaşık bir veri şifreleme çıktısı elde etmektedir. Bundan dolayı bazı programcılar Crypt’nin daha karmaşık bir şifreleme yapısına sahip olmasından dolayı şifreleme olarak tercihlerini bu fonksiyondan yana kullanmaktadırlar.

Aşağıda verilen örneği inceleyiniz.

<?php

if(isset($_GET['crc32me'])) {

    $crc32gelen = crypt($_GET['crc32me']);
}

?>


<p>CRC32 Değeri: <strong><?php echo $crc32gelen;?></strong></p>

<form action="#" method="get">
    <label for="crc32me">CRC32'de şifrelenecek değer:</label>
    <input name="crc32me" id="crc32me" type="text" />
    <input type="submit" value="Şifrele" />
</form>

pic4

Verilerimizi nasıl daha güvenli hale getirebiliriz?

Arkadaşlar bu kısımda şifrelemek istediğimiz verilerin nasıl daha güvenli hale getirilmesini ele alacağız. Basit olarak verilerimizi yukarıda bahsedilen metodlar ile ard arda şifreleme yöntemini uygulayarak daha verimli bir şifreleme yöntemi yapmış olacağız. Hazırsanız birlikte inceleyelim.

<?php
if(isset($_GET['secret'])) {

    $sifreDüzeyiLevel1 = md5($_GET['secret']);    // 1f7c89756f71819535fcb907303df85f
    $sifreDüzeyiLevel2 = sha1($sifreDüzeyiLevel1);      // 87f156a7f6b77a09ac9aea61642eba13c33407f4
    $sifreDüzeyiLevel3 = crc32($sifreDüzeyiLevel2);     // 2043131373
    $secretPassword = 2043131373;


    if ($secretPassword == $sifreDüzeyiLevel3) {
        echo "<script
                  type='text/javascript'> 
                  alert('Girmiş olduğunuz parola doğrudur. Hoşgeldiniz. ');
               </script>";

    } else {
        echo "<script
                  type='text/javascript'> 
                  alert('Girmiş olduğunuz parola hatalı. Lütfen Tekrar Deneyiniz.');
              </script>";
    }
}
?>

<h5>Sisteme giriş yapmak için lütfen parolanızı giriniz:</h5>

<form action="#" method="get">
    <label for="secret">Şifre:</label>
    <input name="secret" id="secret" type="text" />
    <input type="submit" value="Şifrele" />
</form>

pictures

Arkadaşlar bu yazımda PHP’de şifreleme yöntemlerini konu aldık. Şifreleme mantıklarını ele aldık ve örneklerimiz ile şifreleme yapılarını gözlemledik. Sizlerde bunlar gibi kendi şifreleme yöntemlerinizi oluşturabilirsiniz. Kripto olayı geçmişten günümüze birçok yerde kullanılmıştır. İlerleyen zamanlarda kripto ile ilişkili halde olan  bazı yöntemlere ayrı bir yazıda yer vereceğim. Güvenli olması için şifrelerinizin uzun olması dileğiyle 😉 Esen kalın.

Etiketler: crc32 metodu crypt metodu kripto md5 metodu php de nasıl şifreleme yapılır php kripto php şifreleme php şifreleme yöntemleri sha1 metodu şifreleri daha güvenli hale getirme
Önceki Yazı
Sonraki Yazı

Hakan Karataş

author

Back-End Developer @Webmaster.Kitchen.Ağırlıklı olarak Back-end tarafında bilgi, birikim ve yeni öğrendiğim bilgiler ile mutfakta yer almaktayım. Görüş, düşünce ve tecrübelerinizi bizlerle paylaşabilirsiniz. Yorum alanı ile mutfağa katkıda bulunun.

1 Yorum

  • Php'de Resim Doğrulama(Güvenlik) Kodu Nasıl Yapılır? | Webmaster.Kitchen says:
    20 Ocak 2017 at 20:04

    […] atıyoruz. Php’de şifreleme yöntemleri hakkında bilgi sahibi olmak istiyorsanız buradaki yazımızı inceleyebilirsiniz. crypt ile şifrelenmiş sayımızın 6 karakterden ibaret olması […]

    Reply

Yorum Yap Yorumu İptal Et.

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Taze Yazılar
Güncel

Sosyal Medya Yasası Kabul Edildi

14 Ekim 2022
Blockchain

Binance ‘e Siber Saldırı

8 Ekim 2022
Blockchain

Binance ‘den Ücretsiz Eğitim

5 Ekim 2022
Güncel

Japonya için Yenilenen Corolla

4 Ekim 2022
© 2021 Webmaster Kitchen. Tüm Hakları Saklıdır.