- Home
- Categorie
- Coding e Sistemistica
- Coding
- problema generazione password
-
problema generazione password
Ciao a tutti,
io ho usato questa funzione per generare automaticamente le password per gli iscritti al mio sito, ma ho un problemino...
io vorrei che le password fossero lunghe 6 caratteri, ma qui la funzione mi restituisce password che sono di lunghezza variabile e nella maggior parte dei casi mi restituisce password di lunghezza di 2 caratteri..che non sono il massimo....
Come posso fare??grazie!!:xfunction rPass($length = 6) {
// Questo array contiene i caratteri con i quali
// saranno create le password
$lettere = explode(" ",
"a b c d e f g h i j k l m n o p q r s t u v w x y z "
."0 1 2 3 4 5 6 7 8 9");
// questo ? il clico tramite si crea la password
for($i=0;$i<$length;$i++) {
srand((double)microtime()*8622342); //i paranoici possono cambiare questo paramentro numerico
$foo = rand(0, 61);
$pass = $pass.$lettere[$foo];
}
return $pass;
-
Hai tolto le maiuscole???
Perchè questo script probabilmente le faceva lunghe 6 però dove fa rand(0, 61) vuol dire che si aspettava un array di 61 caratteri, invece l'array che hai te è minuscole (26) + numeri (10), quindi 36.
Prova a sostituire il 61 nel rand() con 36!
-
@Senamion said:
Hai tolto le maiuscole???
Perchè questo script probabilmente le faceva lunghe 6 però dove fa rand(0, 61) vuol dire che si aspettava un array di 61 caratteri, invece l'array che hai te è minuscole (26) + numeri (10), quindi 36.
Prova a sostituire il 61 nel rand() con 36!Grazie mille per il consiglio!!!!!!!!!
In effetti è stato illuminante...adesso mi crea password più belle, comunque capita anche che non me ne crei di lunghezza pari a 6 ma inferiori...come posso fare per avere password proprio pari a 6 caratteri??
Grazie mille!!!!!
-
Prova a sostituire questo:
$foo = rand(0, 61);
Così:
$foo = rand(0, count($lettere) - 1);
Sistemi anche il fatto che se aggiungi o togli lettere lui si adegua correttamente.
-
@Senamion said:
Prova a sostituire questo:
$foo = rand(0, 61);
Così:
$foo = rand(0, count($lettere) - 1);
Sistemi anche il fatto che se aggiungi o togli lettere lui si adegua correttamente.
OTTIMO!!!!!!GRAZIE MILLE!!