MH: Passwort Generator

Beitrag lesen

Moin,
ich hab mir eine Passwort Generator gebastelt.
Es wir ein Passwort generiert, dies hat 10 Zeichen. Das Passwort wird mit einem Array abgeglichen, in dem alle bisher generierten Passwörter stehen. Solange es in dem Array steht wir es neu generiert, ansonsten wird es im Array gespeichert und das Passwort wird in einer DB gespeichert.
Nun ist mir aber aufgefallen, dass die Passwörter, die ja eigentlich immer 10 Zeichen haben sollen, zum Teil weniger bis gar keine Zeichen haben. Ich hab jetzt schon einiges versucht, es aber nicht hinbekommen das zu beheben.
Hat jmd. von euch eine Idee woran das liegt?
Hier mein Code:

$psw = array();
for($i = 0; $i < $anz; $i++){
	$pw = '';
  for($a = 0; $a < 10; $a++){
      $pw .= substr('./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghjklmnopqrstuvwxyz0123456789!§$&=?@+*#', mt_rand(0, 73), 1);
  }
  while(in_array($pw, $psw)){
      $pw = '';
      for($b = 0; $b < 10; $b++){
          $pw .= substr('./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghjklmnopqrstuvwxyz0123456789!§$&=?@+*#', mt_rand(0, 73), 1);
      }
  }
  $psw[] = $pw;
	
	$query = sprintf(
  	"INSERT INTO `codes` (`code`, `abt`, `funktion`)
    VALUES ('%s', '%s', '%s')",
    $mysqli->real_escape_string($pw),
    $mysqli->real_escape_string($row['preffix'] . $row['suffix']),
    $mysqli->real_escape_string('Besucher')
  );
  $mysqli->query($query);
}

Danke schon mal
Gruß
MH