Notatki PHP

prywatne zapiski na kamieniu

Funkcja generowania jednego znaku ze zbioru może być używana do wygenerowania losowego hasła - tu w przykładzie, 18 - znakowego.

 
function password1()
	{ 
	  $c='123456789abcdefghijklmnopqrstuvwxyz';
	  $something = (string)$c{rand(0,strlen($c)-1)};
	  return $something;
	}
 
echo '<br>';
 
 
echo "Sponsorem dnia jest literka: ".password1().'<br>';
 
$str = '';
for ( $i=0; $i<18; $i++ ) {
    $str .= password1();
}
 
print_r($str);
echo '<br>';

Rezultatem działania będzie 18-to znakowe hasło:

 
Sponsorem dnia jest literka: u
spncnpbj2ngq8p48sy

 

Oczywiście, całość można zminimalizować w jednej linijce:

 
$str = implode( array_map( function($value){ $c='123456789abcdefghijklmnopqrstuvwxyz'; return (string)$c{rand(0,strlen($c)-1)}; }, array_fill(0,18,NULL) ) ); echo $str; 

Efektem naszej losowości będzie np. hasło: bv8eu979s36swqkj1g

Oczywiście zmieniając liczbę 18 w kodzie na inne, uzyskamy hasła o wpisanej długości.