Hola, estaba buscando algunos ejemplos para generar claves aleatorias, y me he encontrado con una pequeña duda, he buscado en el manual de PHP pero no me queda claro, ¿alguien puede explicarme cual es su cometido?
Esta es la línea que no me queda clara, que es lo que hace en realidad:
Código PHP:
srand((double)microtime()*1000000);
Y esta la función en la que está aplicada:
Código PHP:
function SetRandomPassword(){
$pass = '';
$chars = array(
"1","2","3","4","5","6","7","8","9","0",
"a","A","b","B","c","C","d","D","e","E","f","F","g","G","h","H","i","I","j","J",
"k","K","l","L","m","M","n","N","o","O","p","P","q","Q","r","R","s","S","t","T",
"u","U","v","V","w","W","x","X","y","Y","z","Z");
$count = count($chars) - 1;
srand((double)microtime()*1000000);
for($i = 0; $i < 8; $i++){
$pass .= $chars[rand(0, $count)];
}
return($pass);
}
La función la he probado y va 'casi' perfecta, la estoy utilizando para que un usuario que haya olvidado su contraseña, introduzca su email y se le mande una nueva (aleatoria claro...), el script me funciona, se introduce la nueva contraseña en la base de datos, pero al intentar entrar con la nueva, no me deja, y al cabo de un tiempo si que me deja, ¿Puede ser debido a la funcion microtime()?
Cualquier aclaración me vendría bien
Gracias!