Generarea de parole aleatoare

Devine practic şi mai util în cazul în care tutorial este scris sub forma unui functi. Această funcţie, sperăm, va lucra oriunde.

Ideea de bază în spatele acestei parole aleatoare este că ea va da o altă parolă de fiecare dată când aceasta este ceruta. Acest lucru poate fi realizat numai prin utilizarea de timp ca principal de bază de intrare. Deci, vom începe prin a defini un funcţia PHP pe care acest lucru va genera o parolă pentru noi. Nu va fi o intrare de la utilizator, durata parolei. În cazul în care funcţia este ceruta, va returna o parola aleatoare de caractere, de la 0-32 în funcţie de lungimea dat (litere şi cifre).
Aici este funcţia completa:

<?php
function randomPassword($length){

  $pass md5(time());
  $pass substr($pass, 0, $length);
  return $pass;
}
?>

Funcţie de mai sus este destul de simplu de urmat. Prima linie defineşte o funcţie numită “randomPassword”, care are un parametru “lungime”. A doua linie utilizează built-in PHP funcţia MD5 (). MD5 funcţia returnează masa de intrare data. Aici vom da MD5 de timp ca intrare. De timp () se întoarce în funcţie de timp. Amintiţi-vă că în timp, va fi întotdeauna diferit pentru că este mereu în schimbare data (aici data include ora si secundele). Deci, practic, atunci când vom da MD5 funcţie de timp, cel mai recent, el genereaza masa pentru că sa specifice instant, care este, de asemenea, mereu diferite, din cauza schimbari timpului in permanenta.

Pe urma vom substr parola returnata. Substr este utilizat pentru întoarcere unele specifice durata de un anumit şir de caractere. De exemplu, substr folosit aici va întoarce şirul de parola initial din lungimea pe care utilizatorul o va da.

Ultima linie de cod returnează parolă generata aleatoriu.
Aveţi posibilitatea de a utiliza funcţia în următoarele moduri:

<?php
echo randomPassword(15);
//or
$password = randomPassword(15);
?>

Codul de mai sus vareveni ceva de genul : 1b415353bde123a

Added on 23/04/2009 @ 14:42
Posted in PHP

Leave a Reply

Abonare pe email la comentarii ?