PHP Dersleri

PHP ile Rastgele Güvenli Şifre Üretme

PHP ile Rastgele Sayı, Harf ve Özel Karakterlerden Oluşan Şifre Üret!

PHP Programlama dili ile rastgele ve güvenli bir şifre üretmenin nasıl olduğunu bir fonksiyon üzerinden anlatacağım. Hazırlayacağımız rastgele şifre üreticisinde büyük harfler, küçük harfler, sayısal değerler ve özel karakterler seçilerek ve uzunluğu belirlenerek değer üretecektir.

Hazırlayacağımız bu fonksiyon aslında bir çok yerde gördüğünüz şifre üreticilerin işlerini yapacaktır. Örneğin, WordPress sisteminde üretilen kullanıcı şifresi yada cPanel gibi veritabanı işlemlerinin yürütüldüğü rastgele oluşturulan veritabanı şifresi gibi alanlarda kullanılan algoritmayı oluşturacağız. Tabi bizim oluşturacağımız bu algoritma seçimlere dayalı bir şekilde olacaktır. Tabi kodlarda oynama yaparak seçimsiz bir şekilde güvenli bir şifre üretilmesini de sağlayabilirsiniz.

PHP Şifre Algoritması

Rastgele ve güvenli bir şifreleme oluşturmak için büyük harfler, küçük harfler, sayısal değerler ve özel karakterleri kullanmak gerekmektedir. Bu karakterleri seçimli ve uzunluk değeri girilerek daha işlevsel bir hale getirmiş olacağız. Öncelikle kullanıcı tanımlı olarak belirlenen değerler doğrultusunda güvenli şifrelemeyi göreceğiz. Ardından da sadece uzunluk değeri girilerek nasıl güvenli bir şifre üretildiğini inceleyeceğiz.

Karakter Seti ve Uzunluk Belirterek Şifre Üretme

İlk olarak karakter setinin tanımlanıp, uzunluk değerinin de girilerek rastgele güvenli bir şifrenin nasıl oluşturulduğuna bakacağız. Bu işlem için ilk olarak aşağıdaki adımları kurgulamak gerekecektir.

  • İlk olarak dört farklı değişken tanımlanarak karakter setleri belirlenir.
  • Ardından kullanıcıdan gelen bilgiler döngü ile alınarak karakter seti bir değişkende toplanır.
  • Elde edilen değişken kullanılarak istenilen uzunlukta veri yine döngü ile alınır.
  • Son olarak döngüden dönen değer sonuç olarak döndürülür.

Adımları izleyerek karakter setinin ve uzunluğunun tanımlandığı şifre fonksiyonunu oluşturalım.

<?php
function sifreUret($uzunluk,$karakterler){
    $veri   = ""; // karakter seti taşıyıcısı
    $sifre  = ""; // şifre taşıyıcısı
    foreach($karakterler as $karakter){
        if( $karakter == "123" ){
            $veri     .= "0123456789";
        }else if( $karakter == "ABC" ){
            $veri     .= "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        }else if( $karakter == "abc" ){
            $veri     .= "abcdefghijklmnopqrstuvwxyz";
        }else if( $karakter == "#$&" ){
            $veri     .= "!@#$%^&*()_+";
        }
    }
    // Veri değişkeninden rastgele veri çekerek şifre oluşturuyoruz.
    while(strlen($sifre) < $uzunluk){
        $sifre         .= substr($veri,(rand() % strlen($veri)),1);
    }
    return $sifre;
}
echo sifreUret(10,array("123","#$&"));
// 00%@7#)45^ gibi değerler üretilecektir.
?>

Yukarıda yer alan kodlarla birlikte, kullanıcı tanımlı rastgele ve güvenli bir şekilde şifre oluşturma işlemi sağlanacaktır. Bu fonksiyonda yer alan karakter setleri ve diğer değerler değiştirilerek farklı sonuçların elde edilmesi sağlanabilir.

Sadece Uzunluk Belirterek Güvenli Şifre Üretme

PHP Programlama ile yukarıdaki örneği sadece uzunluk belirterekte şifre üretilmesini sağlayabiliriz. Bunun için tek bir değişkenden elde edilen değeri alıp, uzunluk doğrultusunda geri dönüş yapılması yeterli olacaktır.

<?php
function sifreUret($uzunluk){
    $veri   = ""; // karakter seti taşıyıcısı
    $sifre  = ""; // şifre taşıyıcısı
    $veri   .= "0123456789";
    $veri   .= "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $veri   .= "abcdefghijklmnopqrstuvwxyz";
    $veri   .= "!@#$%^&*()_+";
    // Veri değişkeninden rastgele veri çekerek şifre oluşturuyoruz.
    while(strlen($sifre) < $uzunluk){
        $sifre         .= substr($veri,(rand() % strlen($veri)),1);
    }
    return $sifre;
}
echo sifreUret(10);
?>

Fonksiyonda yer alan filtrelemeyi kaldırıp karakter setlerini direkt olarak kullandığınızda belilenen uzunlukta şifre üretilmesini sağlayabilirsiniz. Fonksiyonda karakter setlerini bir kaç kalemde yazdım. Bunun nedeni hangi karakter setlerinin kullanıldığının görünür olması ve düzenlemesinin kolay olmasıdır. Bunu tek bir değişkende de tutabilirsiniz. Bu şekilde hazırlayacağınız bir fonksiyonda belirlenen uzunlukta güvenli ve bol karakter setli bir şifre üretmiş olacaksınız.

PHP ile Güvenli Şifre Oluşturma

PHP ile güvenli şifre oluşturma işlemi, güvenlik için ve kullanıcılara güvenli şifre sonuçları vermek için kullanılabilir. Bildiğiniz gibi çok basit şifreler internet ortamında kullanılmakta ve kolaylıkla tahmin edilerek kötü sonuçlara yol açmaktadır. Güvenli şifre üreticisi ile internet ortamında daha güvenli bir ortam sağlamış olursunuz.

Hazırlamış olduğumuz bu fonksiyonu online olarak test etmek için Araçlar bölümünde yer alan Rastgele Şifre Oluşturucu sayfasını ziyaret edebilirsiniz. Bu sayfada yer alan şifreleme aracı, bu konudaki fonksiyonun bir benzeri kullanılarak hazırlanmıştır.

İlgili Makaleler

Bir yanıt yazın

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