субота, 23. јул 2011.

PHP password generator

function generator($broj)//deklaracija funkcije
{
switch($broj)
{
case (1): $alpha = 'A'; break;
case (2): $alpha = 'B'; break;
case (3): $alpha = 'C'; break;
case (4): $alpha = 'D'; break;
case (5): $alpha = 'E'; break;
case (6): $alpha = 'F'; break;
case (7): $alpha = 'G'; break;
case (8): $alpha = 'H'; break;
case (9): $alpha = 'I'; break;
case (10): $alpha = 'J'; break;
case (11): $alpha = 'K'; break;
case (12): $alpha = 'L'; break;
case (13): $alpha = 'M'; break;
case (14): $alpha = 'N'; break;
case (15): $alpha = 'O'; break;
case (16): $alpha = 'P'; break;
case (17): $alpha = 'Q'; break;
case (18): $alpha = 'R'; break;
case (19): $alpha = 'S'; break;
case (20): $alpha = 'T'; break;
case (21): $alpha = 'U'; break;
case (22): $alpha = 'V'; break;
case (23): $alpha = 'W'; break;
case (24): $alpha = 'X'; break;
case (25): $alpha = 'Y'; break;
case (26): $alpha = 'Z'; break;
}
return $alpha;
}


for ($i=1; $i<=8; $i++)
{
$rand = mt_rand(1, 26);//korišćenjem mt_rand funkcije nasumice se bira 8 karaktera
$alpha = generator($rand);
if($i>=4 && $i<=7) {
$alpha=strtolower($alpha);//karakteri 4,5,6,7 se pomoću funkcije strtolower konvertuju u mala slova
}

$strPass = $strPass.$alpha;
}


$broj=mt_rand(1000,9999);//slučajno generisanje bilo kog četvorocifrenog broja u intervalu zadatom

$niz=array($strPass,$broj);//deklarisanje niza sa elementima slova i brojeva

echo $prvi=$niz[0]."
";//prvi član niza je nasumice 8 adabranih slova
echo $drugi=$niz[1]."
";//drugi član niza je nasumice odabran četvorocifreni broj
$lozinka=implode("", $niz);//sada korišćenjem funkcije implode, spajamo elemente niza kako bismo smo dobili lozinku od 12 alfanumeričkih karaktera
echo $lozinka;//ispisivanje lozinke


?>

1 коментара:

Ivan је рекао...

svakako, postoji bezbroj načina kojima se može uraditi navedeni primer, kao npr. moglo je samo kroz if uslov da se ispita pozicija odredjenog karaktera, i da se umesto slova na datoj pooziciji generiše broj. Kao npr:
...if($i5= && $i=6) {
$random2=mt_rand(0,9);
$alpha=$random2; ...
Po mom mišljenju, ovakav način je definitivno lakši, ali kroz prvobitan primer, početnicima je prikazan rad sa nizovim i stringovima.

Постави коментар