Php
0

Rastgele Şifre Üretme

Kullanışlı bir PHP fonksiyonu ile rastgele şifre nasıl üretilir.

Aşağıdaki fonksiyonu kullanarak, şifrelerinizin ne tür semboller içermesi gerektiğini, şifre uzunluğunun ne olması gerektiğini ve kaç şifre oluşturmak istediğinizi belirleyebilirsiniz.

function randomPassword($length,$count, $characters) {
 
	// $length - şifrenin kaç karakterden oluşacağını belirtir
	// $count - kaç adet şifre üretileceğini belirtir
	// $characters - şifrenin hangi karakterlerden oluşacağını belirtir.
	 
	// fonksiyon içerisinde kullanılacak değişkenlerimiz   
		$symbols = array();
		$passwords = array();
		$used_symbols = '';
		$pass = '';
	 
	// karakter çeşitlerinin dizi hali    
		$symbols["lower_case"] = 'abcdefghijklmnopqrstuvwxyz';
		$symbols["upper_case"] = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
		$symbols["numbers"] = '0123456789';
		$symbols["special_symbols"] = ';:.-_()%^&+!{}?@';
	 
		$characters = explode(",",$characters); // şifre içerisinde kullanılacak karakterleri getirelim
		foreach ($characters as $key=>$value) {
			$used_symbols .= $symbols[$value]; // tüm karakterler ile bir dizi oluşturalım
		}
		$symbols_length = strlen($used_symbols) - 1; //strlen 0 dan başlar
		 
		for ($p = 0; $p < $count; $p++) {
			$pass = '';
			for ($i = 0; $i < $length; $i++) {
				$n = rand(0, $symbols_length); // tüm karakterler ile oluşan rastgele şifre üretelim
				$pass .= $used_symbols[$n]; // karakterleri şifre dizinine ekleyelim
			}
			$passwords[] = $pass;
		}
		 
		return $passwords; // şifreyi oluşturalım
	}

        $my_passwords = randomPassword(10,1,"lower_case,upper_case,numbers,special_symbols");
 
        print_r($my_passwords);	

Örnek kullanım;

// 1 adet 10 karakterden oluşan (küçük harf, büyük harf, rakamlar, özel karakterler)
$my_passwords = randomPassword(10,1,"lower_case,upper_case,numbers,special_symbols");
// 1 adet 10 karakterden oluşan (küçük harf, büyük harf)
$my_passwords = randomPassword(10,1,"lower_case,upper_case");
// 1 adet 8 karakterden oluşan (küçük harf, rakamlar, özel karakterler)
$my_passwords = randomPassword(8,1,"lower_case,numbers,special_symbols");

Örnek için: Hesap Basit

Yorum Yaz:

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