Büyük ve Küçük Harf, Sayı ve Özel Karakter Seçerek Rastgele Şifre Oluşturma

<?php
header('Content-Type: text/html; karakterleret=utf-8');
class sifre {
	var $kucukharf;
	var $buyukharf;
	var $sayi;
	var $ozelkarakter;
	Var $uzunluk;
	Var $onek;
	function sifre($uzunluk=10,$onek='') {
		$this->uzunluk = $uzunluk;
		$this->onek = $onek;
		$this->kucukharf = true;
		$this->buyukharf = true;
		$this->sayi = true;
		$this->ozelkarakter = false;	
	}
	function olustur() {
		if ($this->buyukharf) {
			$karakterler = array("A","B","C","D","E","F","G","H","I","J","K",
	                       "L","M","N","O","P","Q",
			       "R","S","T","U","V","W",
			       "X","Y","Z");
		}
		if ($this->kucukharf) {
			$karakterler[] = "a";
			$karakterler[] = "b";
			$karakterler[] = "c";
			$karakterler[] = "d";
			$karakterler[] = "e";
			$karakterler[] = "f";
			$karakterler[] = "g";
			$karakterler[] = "h";
			$karakterler[] = "i";
			$karakterler[] = "j";
			$karakterler[] = "k";
			$karakterler[] = "l";
			$karakterler[] = "m";
			$karakterler[] = "n";
			$karakterler[] = "o";
			$karakterler[] = "p";
			$karakterler[] = "q";
			$karakterler[] = "r";
			$karakterler[] = "s";
			$karakterler[] = "t";
			$karakterler[] = "u";
			$karakterler[] = "v";
			$karakterler[] = "w";
			$karakterler[] = "x";
			$karakterler[] = "y";
			$karakterler[] = "z";
		}
		if ($this->sayi) {
			$karakterler[] = "1";
			$karakterler[] = "2";
			$karakterler[] = "3";
			$karakterler[] = "4";
			$karakterler[] = "5";
			$karakterler[] = "6";
			$karakterler[] = "7";
			$karakterler[] = "8";
			$karakterler[] = "9";
			$karakterler[] = "0";
		}
		if ($this->ozelkarakter) {
			$karakterler[] = '!';
			$karakterler[] = '@';
			$karakterler[] = '#';
			$karakterler[] = "$";
			$karakterler[] = '%';
			$karakterler[] = '^';
			$karakterler[] = '&';
			$karakterler[] = '*';
			$karakterler[] = '(';
			$karakterler[] = ')';
			$karakterler[] = '{';
			$karakterler[] = '}';
			$karakterler[] = '[';
			$karakterler[] = ']';
			$karakterler[] = '<';
			$karakterler[] = '>';
			$karakterler[] = '?';
			$karakterler[] = "=";
			$karakterler[] = '+';
			$karakterler[] = '-';
			$karakterler[] = "_";
			$karakterler[] = "/";
		}

		$max_eleman = count($karakterler) - 1;
		$yenisifre = $this->onek;
		$l = $this->uzunluk - struzunluk($this->onek);
		for ($i = 0;$i<$l;$i++)
		{ 
 			srand((double)microtime()*1000000);
			$yenisifre .= $karakterler[rand(0,$max_eleman)];
		}
		return  $yenisifre;
	}
}
$s = new sifre();
echo $s->olustur() . '<br>';
$s->kucukharf = false;
echo $s->olustur() . '<br>';
$s->ozelkarakter = true;
echo $s->olustur() . '<br>';
?>

Çıktısı

5D123P5RSF
$+_/@#%&VX
ZYCqsVXBDF

 

Sizin Değerli Görüşlerinize İhtiyacımız Var.