Random PHP?

2 Antworten

Vielleicht so:

<?php

$PASS_CHARS = str_split('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');

function passgen($len=16) {
global $PASS_CHARS;

$buf = '';
for ($i = 0; $i < $len; ++$i) {
$buf .= $PASS_CHARS[array_rand($PASS_CHARS)];
}

return $buf;
}

for ($i = 0; $i < 8; ++$i) {
echo 'Pass #' . $i . ': ' . passgen(16) . "\n";
}

Das liefert dann z. B. folgende Ausgabe:

Pass #0: tck3zxwzc57WL3uz
Pass #1: oFelFEybUlBMexsZ
Pass #2: DaxgGLF31KloOz6L
Pass #3: PJm54oqLO8eICSdy
Pass #4: lgfGMjU9ngEwm9bA
Pass #5: HwzUF3qy7t3xl0ss
Pass #6: VIgAcy9oOi3DntL2
Pass #7: fdVuQgvoLNBRUoTi

Allerdings sind globale Variablen äußerst unschön, und du solltest das ganze vielleicht sauber in einer Klasse kapseln!

Naja, viel Spaß damit! :)

PS: Allerhand Schnickschnack wie eine Prüfung auf Mindestlänge und die Verwendung von mt_rand() habe jetzt mal bei Seite gelassen. Darum musst du dich letzendlich natürlich selber kümmern! :)

Beachte dazu bitte UNBEDINGT den ersten Kommentar auf dieser Seite:

http://php.net/manual/de/function.array-rand.php