Nello sviluppo di applicazioni di autenticazione si può incontrare la necessità di dover generare valori casuali da utilizzare come password.
In questo articolo vedremo, appunto, come fare ciò utilizzando le funziuoni chr() e rand() offerte dal PHP.
Nello specifico poniamo di avere la necessità di creare delle password casuali di 10 caratteri composte sia da numeri che da lettere.
Ecco il codice:
<?
// Imposto la lunghezza della password a 10 caratteri
$lung_pass = 10;
// Creo un ciclo for che si ripete per il valore di $lung_pass
for ($x=1; $x<=$lung_pass; $x++)
{
// Se $x è multiplo di 2...
if ($x % 2){
// Aggiungo una lettera casuale usando chr() in combinazione
// con rand() che genera un valore numerico compreso tra 97
// e 122, numeri che corrispondono alle lettere dell'alfabeto
// nella tabella dei caratteri ASCII
$mypass = $mypass . chr(rand(97,122));
// Se $x non è multiplo di 2...
}else{
// Aggiungo alla password un numero compreso tra 0 e 9
$mypass = $mypass . rand(0,9);
}
}
// Stampo a video il risultato
echo $mypass;
?>
Come unica nota vorrei soffermarmi un istante sulla funzione chr() la quale serve per recuperare un carattere ASCII attraverso l'indicazione del suo numero di corrispondenza all'interno della tabella dei caratteri ascii (vedi sito Asciitable.com).
Nel nostro caso abbiamo utilizzato chr() insieme a rand() per generare, appunto, un numero compreso tra 97 e 122, numeri che corrispondono alle lettere del nostro alfabeto.
| Corso Linux Guida completa al sistema open-source. A partire da 49 €. | |
| Corso MySQL Gestione del database open-source. A partire da 39 €. | |
| Corso PHP Corso completo per la creazione di siti Web dinamici. A partire da 49 €. |