• Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha fazla bilgi edin.

PHP Rastgele Şifre Üretme

Konuyu Okuyan Kişiler (0)

inforesim

webmaster.tc
Katılım
4 Ağu 2012
Mesajlar
2,439
Beğeniler
0
#1
Bazı durumlar da rastgele şifre veya Rastgele bir veri üretme ihtiyacı hissetmişsinizdir, Sizlere bir fonksiyon ile Bunun basitçe yapımını anlatacağım (Daha doğrusu bir sitede kaynak gördüm sizinle paylaşacağım).

Bu fonksiyon size belirttiğiniz karakter adında bir şifre üretir. Eğer her hangi bir sayı belirtmez iseniz sabit olarak 12 haneli bir şifre üretecektir.

PHP:
/**
 * Password Generator Library
 * 
 * @author: Mesut Erdemir 
 * @uri: http://blog.mesuterdemir.com/ 
 * @version: 1.0
 */
 
class PassGen {
    
    const CHARSET = "0123456789abcdfghjkmnpqrstvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_!@#$%&*()-=+/";
    
    /**
     * Password Generator Method
     * 
     * @param   integer     $length
     * @return  string
     */
    static function generate($length = 12)
    {
        $generated_pass = substr(self::CHARSET, rand(1, strlen(self::CHARSET) -1), 1); // Don't start with zero
        do {
            $selected = substr(self::CHARSET, rand(0, strlen(self::CHARSET) -1), 1);
            if ($selected == substr($generated_pass, strlen($generated_pass) -1, 1)) { // If selected char is equal at the end of string, continue
                continue;
            }
            $generated_pass .= $selected;
        } while(strlen($generated_pass) < $length);
        return $generated_pass;
    }
}
Yukarıdaki gördüğünüz kodu, Aşağıdaki gibi kullanabilirsiniz.

PHP:
echo PassGen::generate();
Eğer belirli karakterlik şifre üretmek istiyorsanız

PHP:
echo PassGen::generate("2");
şeklinde kullanın (Mesela 2 karakterli üretecektir).

İyi Kullanımlar :)