Hallo Henryk,
du könntest mit rand()
Besser ist hier mt_rand(), ausserdem sollte das mt_srand()
das ist einfach schneller oder?
(bzw. srand() wenn du unbedingt rand() benutzen willst)
ich wusste nicht, das es mt_rand() gibt :-)
Dran denken dass die Ausgaben von md5() nur ein beschränktes Alphabet haben,
inwiefern ein beschränktes Alphabet?
ein damit erzeugtes Passwort muss also tendenziell länger sein als eines mit dem vollen Buchstabenumfang um die selbe Sicherheit zu erreichen.
das kommt darauf an wie sicher das Passwort sein soll (den Verwendungszweck hat Anna nicht genannt :-))
Du kannst statt rand() auch time()
Ganz schlechte Idee. time() liefert wie der Name sagt immer die aktuelle Uhrzeit und die ist in höchstem Maße voraussagbar.
mhh... stimmt, da habe ich nicht daran gedacht, vielleicht sollte man time() und mt_rand() kommbinieren?
Zur weiteren Vorgehensweise: Ich würde mir ja einen String nehmen in den ich alle in Frage kommenden Zeichen packe und dann mit Hilfe von mt_rand() zufällige Zeichen daraussuchen.
[...]
for($i=0; $i < 8; $i++) $pass .= $zeichen[mt_rand(0,strlen($zeichen))];
ok, das ist wirklich besser als mein Vorschlag (damit kann man dann ja auch ein beliebig langes Passwort generieren) - Danke, wieder was gelernt :-)
Den Inhalt von $zeichen solltest du deinen Wünschen anpassen, ich hab' einfach mal alles reingepackt was auf meiner Tastatur so rumlag.
:-) - aber manches dürfte doch etwas oversized sein, oder? Ich weiß nicht, ob jeder Dau eine hochgestellte 2 oder 3 hinbekommt :-)
Grüße aus Nürnberg
Tobias