Passwortgenerator?
Stan
- php
0 Dennis0 Daniel0 Fabian St.0 Ritschieboy0 Fabian St.0 dedlfix
Hi,
Ich bastle zur Zeit ein Login-Skript für meine HP. Und zwar will ich, dass sich der Benutzer einen eigenen Usernamen aussuchen kann, das Passwort soll aber automatisch generiert werden und per eMail zugeschickt werden. Gibt es irgendeine Möglichkeit aus Buchstaben, Sonderzeichen und Zahlen ein zufälliges Passwort zu generieren?
Stan
Hi Stan,
Gibt es irgendeine Möglichkeit aus Buchstaben, Sonderzeichen und Zahlen ein zufälliges Passwort zu generieren?
Klar, schreibe dir eine entsprechede Funktion dafür, die zufällige Zeichenketten erzeugt. Ich hatte solch eine sogar hier schonmal gepostet.
MfG, Dennis.
Hi,
Gibt es irgendeine Möglichkeit aus Buchstaben, Sonderzeichen und Zahlen ein zufälliges Passwort zu generieren?
sogar mehr als eine. helfen kann dir da
http://de2.php.net/manual/de/function.chr.php
http://de2.php.net/manual/de/function.rand.php
http://de2.php.net/manual/de/function.md5.php
http://de2.php.net/manual/de/function.substr.php
du könntest z.B. eine zufallszahl zwischen 1 und 1000 generieren. diese wandelst du mit md5 um. dann ermittelst du einen zufälligen startwert und holst dir die darauf folgenden 8 Zeichen der md5 codierung.
du könntest aber auch ein Array mit Wörtern erstellen und daraus
zufällig 2 oder 3 wählen und in einer zufälligen Kobination zusammen
setzten.
du könntest auch einfach ein zufälliges Zeichen über chr bis zu einer evt. zufälligen passwortlänge hinzufügen. mit einem
for($z=0; $z<=255; $z++)
{
$zeichen = chr($z);
echo "$z => $zeichen <br>";
}
kannst du dir die nötigen zahlen holen.
und das sind noch lange nicht alle möglichkeiten.
MfG
Hi!
Ich bastle zur Zeit ein Login-Skript für meine HP. Und zwar will ich, dass sich der Benutzer einen eigenen Usernamen aussuchen kann, das Passwort soll aber automatisch generiert werden und per eMail zugeschickt werden. Gibt es irgendeine Möglichkeit aus Buchstaben, Sonderzeichen und Zahlen ein zufälliges Passwort zu generieren?
Schaue dir mal PEAR::Text_Password an. Diese Klasse bietet hierzu allerhand Möglichkeiten an.
Alternativ könntest du dir eine eigene Funktion basteln:
Du schreibst alle Zeichen, die für das Passwort erlaubt sein sollen, in ein Array. Anschließend setzt du in einer Schleife, deren Obergrenze die Länge des Passwortes ist, mittels einer Zufallszahl (rand() oder auch mt_rand()) als Array-Index das Passwort zusammen.
Grüße,
Fabian St.
Hi,
Steh leider voll auf der Leitung
Wie müsste sowas denn aussehen?
Rb
Hi!
Steh leider voll auf der Leitung
Wie müsste sowas denn aussehen?
z.B. so:
function make_password($length) {
$passwd = '';
$chars = array(
'A','B','C','D','E','F','G','H','I',
'J','K','L','M','N','O','P','Q','R',
'S','T','U','V','W','X','Y','Z',
'a','b','c','d','e','f','g','h','i',
'j','k','l','m','n','o','p','q','r',
's','t','u','v','w','x','y','z',
'0','1','2','3','4','5','6','7','8','9'
); // eventl. noch ergänzen
for($i = 0; $i < $length; $i++) {
$nr = rand(0, count($chars)); // eventl. auch mt_rand()
$passwd .= $chars[$nr];
}
return $passwd;
}
Grüße,
Fabian St.
echo $begrüßung;
$chars = array( 'A','B','C','D','E','F','G','H','I',
Das ist ja eine ganze Menge Tipparbeit, die du dem OP freundlicherweise abgenommen hast. Da man mit dem Alter fauler wird, kürzt man gerne wo es geht. Z.B. so:
$chars = 'ABCDEFGH...abcdefg...123...';
$nr = rand(0, count($chars)); // eventl. auch mt_rand()
$nr = rand(0, strlen($chars) -1); // minus 1 nicht vergessen!
$passwd .= $chars[$nr];
$passwd .= $chars{$nr};
echo "$verabschiedung $name";
$nr = rand(0, strlen($chars) -1); // minus 1 nicht vergessen!
Warum "-1" ???
Rb
Hi,
$nr = rand(0, strlen($chars) -1); // minus 1 nicht vergessen!
Warum "-1" ???
weil sonst unter umständen der maximal wert kommt. also als beispiel:
string:
------------------------------
|position| 0 | 1 | 2 | 3 | 4 |
------------------------------
| inhalt | H | a | l | l | o |
------------------------------
ein strlen(string) ergibt 5. wenn man nun auf position 5 zugreifen will
gibts nen fehler. Immer daran denken, es wird bei 0 angefangen zu zählen.
MfG
echo $begrüßung;
$nr = rand(0, strlen($chars) -1); // minus 1 nicht vergessen!
Warum "-1" ???
Weil rand(a, b) Werte von a bis b, inklusive a und b, liefert. Ein String hat zwar strlen() Zeichen aber der Index geht - von 0 beginnend - nur bis strlen() -1
echo "$verabschiedung $name";
Hi dedlfix!
$chars = array( 'A','B','C','D','E','F','G','H','I',
Das ist ja eine ganze Menge Tipparbeit, die du dem OP freundlicherweise abgenommen hast. Da man mit dem Alter fauler wird, kürzt man gerne wo es geht. Z.B. so:
Geht es hier denn nur noch um das Alter? ;-) Aber dein Einwand ist berechtigt, so ginge das wirklich etwas einfacher.
$chars = 'ABCDEFGH...abcdefg...123...';
$nr = rand(0, count($chars)); // eventl. auch mt_rand()
$nr = rand(0, strlen($chars) -1); // minus 1 nicht vergessen!
Ups, ich dachte, im Hinterkopf zu haben, dass der zweite Parameter von rand() selber nicht mehr als mögliche Zahl zurückgeliefert wird... Naja, ein Blick ins Manual hätte mich eines besseren überzeugt *g*
Grüße,
Fabian St.