Wie angekündigt, gibt es von mir nun den Benchmark zu den verschiedenen Methoden der Passwortgenerierung.
Die 4. Methode könnte man, wie gesagt, noch so erweitern, dass es auch für Passwörter mit mehr als 40 Zeichen länge funktioniert. Dies hab ich einmal gemacht, und dies hier ist der Code:
1 2 3 4 5 6 7 8 9 | function generatePW($length){ $times = ceil($length/40); $password = ''; for($i=0;$i<$times;$i++){ $password .= substr(sha1(time()*uniqid(mt_rand())), 0, $length); $length -= 40; } return $password; } |
Ich hab das ganze auch noch mit in den Benchmark einbezogen. Es handelt sich dabei um Methode 5.
Ich möchte diesmal nicht lange um den heißen Brei reden, und stelle euch einfach die Ergebnisse, nach 10.000 Generierungen mit einer Länge von 8 Zeichen vor.
Benchmark Passwortgenerierung
| Was? | Laufzeit in s | Verhältnis zum Schnellsten |
|---|---|---|
| Methode 3 | 0.0743930339813 | 100% |
| Methode 4 | 0.180932998657 | 243.2% |
| Methode 2 | 0.184069871902 | 247.4% |
| Methode 5 | 0.214463949203 | 288.3% |
| Methode 1 | 0.517629861832 | 695.8% |
Das Ergebnis hat mich nicht sonderlich verwundert. Das Methode 3 schneller ist als 4, kann man sich sicherlich denken, da die 4. Methode einfach nur erweitert ist. Mich hat es nur etwas verwundert, dass Methode 2 schneller ist als Methode 5. Deswegen sollte jeder, der wirklich Zufallscodes/Passwörter mit mehr als 40 Zeichen länge braucht, auf Funktion 2 zurückgreifen. Alle anderen sollten Funktion 4 verwenden, da dort die besten Zufallswerte herauskommen, und das auch noch in einer akzeptablen Zeit. Einziger Nachteil ist halt, dass man nicht problemlos weitere Zeichen hinzufügen kann.
